Skip to content

Commit ac4351e

Browse files
committed
remove DirtyState
1 parent 522bff3 commit ac4351e

File tree

4 files changed

+12
-40
lines changed

4 files changed

+12
-40
lines changed

turbopack/crates/turbo-tasks-backend/src/backend/mod.rs

Lines changed: 4 additions & 12 deletions
Original file line numberDiff line numberDiff line change
@@ -567,9 +567,7 @@ impl<B: BackingStorage> TurboTasksBackendInner<B> {
567567
}
568568
}
569569

570-
let is_dirty = task
571-
.dirty_state()
572-
.map_or(false, |dirty_state| dirty_state.get(self.session_id));
570+
let is_dirty = task.is_dirty(self.session_id);
573571

574572
// Check the dirty count of the root node
575573
let dirty_tasks = get!(task, AggregatedDirtyContainerCount)
@@ -625,9 +623,7 @@ impl<B: BackingStorage> TurboTasksBackendInner<B> {
625623
visited: &mut FxHashSet<TaskId>,
626624
) -> String {
627625
let task = ctx.task(task_id, TaskDataCategory::Data);
628-
let is_dirty = task
629-
.dirty_state()
630-
.map_or(false, |dirty_state| dirty_state.get(ctx.session_id()));
626+
let is_dirty = task.is_dirty(ctx.session_id());
631627
let in_progress =
632628
get!(task, InProgress).map_or("not in progress", |p| match p {
633629
InProgressState::InProgress(_) => "in progress",
@@ -2892,9 +2888,7 @@ impl<B: BackingStorage> TurboTasksBackendInner<B> {
28922888

28932889
let mut ctx = self.execute_context(turbo_tasks);
28942890
let mut task = ctx.task(task_id, TaskDataCategory::All);
2895-
let is_dirty = task
2896-
.dirty_state()
2897-
.map_or(false, |dirty| dirty.get(self.session_id));
2891+
let is_dirty = task.is_dirty(self.session_id);
28982892
let has_dirty_containers = get!(task, AggregatedDirtyContainerCount)
28992893
.map_or(false, |dirty_containers| {
29002894
dirty_containers.get(self.session_id) > 0
@@ -2987,9 +2981,7 @@ impl<B: BackingStorage> TurboTasksBackendInner<B> {
29872981
}
29882982
}
29892983

2990-
let is_dirty = task
2991-
.dirty_state()
2992-
.is_some_and(|dirty| dirty.get(self.session_id));
2984+
let is_dirty = task.is_dirty(self.session_id);
29932985
let has_dirty_container = get!(task, AggregatedDirtyContainerCount)
29942986
.is_some_and(|count| count.get(self.session_id) > 0);
29952987
let should_be_in_upper = is_dirty || has_dirty_container;

turbopack/crates/turbo-tasks-backend/src/backend/operation/aggregation_update.rs

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1209,7 +1209,7 @@ impl AggregationUpdateQueue {
12091209
) {
12101210
let session_id = ctx.session_id();
12111211
// Task need to be scheduled if it's dirty or doesn't have output
1212-
let dirty = task.dirty_state().map_or(false, |d| d.get(session_id));
1212+
let dirty = task.is_dirty(session_id);
12131213
let should_schedule = if dirty {
12141214
Some(TaskExecutionReason::ActivateDirty)
12151215
} else if !task.has_key(&CachedDataItemKey::Output {}) {

turbopack/crates/turbo-tasks-backend/src/backend/operation/mod.rs

Lines changed: 7 additions & 16 deletions
Original file line numberDiff line numberDiff line change
@@ -25,7 +25,7 @@ use crate::{
2525
backing_storage::BackingStorage,
2626
data::{
2727
CachedDataItem, CachedDataItemKey, CachedDataItemType, CachedDataItemValue,
28-
CachedDataItemValueRef, CachedDataItemValueRefMut, DirtyState, Dirtyness,
28+
CachedDataItemValueRef, CachedDataItemValueRefMut, Dirtyness,
2929
},
3030
};
3131

@@ -415,6 +415,12 @@ pub trait TaskGuard: Debug {
415415
fn invalidate_serialization(&mut self);
416416
fn prefetch(&mut self) -> Option<FxIndexMap<TaskId, bool>>;
417417
fn is_immutable(&self) -> bool;
418+
fn is_dirty(&self, session_id: SessionId) -> bool {
419+
get!(self, Dirty).is_some_and(|dirtyness| match dirtyness {
420+
Dirtyness::Dirty => true,
421+
Dirtyness::SessionDependent => get!(self, CleanInSession).copied() != Some(session_id),
422+
})
423+
}
418424
fn dirtyness_and_session(&self) -> Option<(Dirtyness, Option<SessionId>)> {
419425
match get!(self, Dirty)? {
420426
Dirtyness::Dirty => Some((Dirtyness::Dirty, None)),
@@ -424,21 +430,6 @@ pub trait TaskGuard: Debug {
424430
)),
425431
}
426432
}
427-
fn dirty_state(&self) -> Option<DirtyState> {
428-
match get!(self, Dirty)? {
429-
Dirtyness::Dirty => Some(DirtyState {
430-
clean_in_session: None,
431-
}),
432-
Dirtyness::SessionDependent => match get!(self, CleanInSession) {
433-
None => Some(DirtyState {
434-
clean_in_session: None,
435-
}),
436-
Some(session) => Some(DirtyState {
437-
clean_in_session: Some(*session),
438-
}),
439-
},
440-
}
441-
}
442433
}
443434

444435
pub struct TaskGuardImpl<'a, B: BackingStorage> {

turbopack/crates/turbo-tasks-backend/src/data.rs

Lines changed: 0 additions & 11 deletions
Original file line numberDiff line numberDiff line change
@@ -149,17 +149,6 @@ pub enum Dirtyness {
149149
SessionDependent,
150150
}
151151

152-
#[derive(Debug, Clone, Copy, Serialize, Deserialize, PartialEq, Eq)]
153-
pub struct DirtyState {
154-
pub clean_in_session: Option<SessionId>,
155-
}
156-
157-
impl DirtyState {
158-
pub fn get(&self, session: SessionId) -> bool {
159-
self.clean_in_session != Some(session)
160-
}
161-
}
162-
163152
fn add_with_diff(v: &mut i32, u: i32) -> i32 {
164153
let old = *v;
165154
*v += u;

0 commit comments

Comments
 (0)