@@ -538,31 +538,27 @@ export function checkDirty(deps: Link): boolean {
538
538
if ( dep . update ( ) ) {
539
539
propagate ( dep . subs ! )
540
540
let dirty = true
541
- if ( stack > 0 ) {
542
- let sub = deps . sub as IComputed
543
- do {
544
- stack --
545
- const subSubs = sub . subs !
546
- const prevLink = subSubs . prevSub !
547
- subSubs . prevSub = undefined
548
- if ( dirty ) {
549
- if ( sub . update ( ) ) {
550
- propagate ( subSubs )
551
- deps = prevLink
552
- sub = prevLink . sub as IComputed
553
- dirty = true
554
- continue
555
- }
556
- } else {
557
- sub . dirtyLevel = DirtyLevels . None
541
+ while ( stack > 0 ) {
542
+ stack --
543
+ const sub = deps . sub as IComputed
544
+ const subSubs = sub . subs !
545
+ const prevLink = subSubs . prevSub !
546
+ subSubs . prevSub = undefined
547
+ if ( dirty ) {
548
+ if ( sub . update ( ) ) {
549
+ propagate ( subSubs )
550
+ deps = prevLink
551
+ dirty = true
552
+ continue
558
553
}
559
- deps = prevLink . nextDep !
560
- if ( deps !== undefined ) {
561
- continue top
562
- }
563
- dirty = false
564
- sub = prevLink . sub as IComputed
565
- } while ( stack > 0 )
554
+ } else {
555
+ sub . dirtyLevel = DirtyLevels . None
556
+ }
557
+ deps = prevLink . nextDep !
558
+ if ( deps !== undefined ) {
559
+ continue top
560
+ }
561
+ dirty = false
566
562
}
567
563
return dirty
568
564
}
@@ -572,31 +568,27 @@ export function checkDirty(deps: Link): boolean {
572
568
const nextDep = deps . nextDep !
573
569
if ( nextDep === undefined ) {
574
570
let dirty = false
575
- if ( stack > 0 ) {
576
- let sub = deps . sub as IComputed
577
- do {
578
- stack --
579
- const subSubs = sub . subs !
580
- const prevLink = subSubs . prevSub !
581
- subSubs . prevSub = undefined
582
- if ( dirty ) {
583
- if ( sub . update ( ) ) {
584
- propagate ( subSubs )
585
- deps = prevLink
586
- sub = prevLink . sub as IComputed
587
- dirty = true
588
- continue
589
- }
590
- } else {
591
- sub . dirtyLevel = DirtyLevels . None
592
- }
593
- deps = prevLink . nextDep !
594
- if ( deps !== undefined ) {
595
- continue top
571
+ while ( stack > 0 ) {
572
+ stack --
573
+ const sub = deps . sub as IComputed
574
+ const subSubs = sub . subs !
575
+ const prevLink = subSubs . prevSub !
576
+ subSubs . prevSub = undefined
577
+ if ( dirty ) {
578
+ if ( sub . update ( ) ) {
579
+ propagate ( subSubs )
580
+ deps = prevLink
581
+ dirty = true
582
+ continue
596
583
}
597
- sub = prevLink . sub as IComputed
598
- dirty = false
599
- } while ( stack > 0 )
584
+ } else {
585
+ sub . dirtyLevel = DirtyLevels . None
586
+ }
587
+ deps = prevLink . nextDep !
588
+ if ( deps !== undefined ) {
589
+ continue top
590
+ }
591
+ dirty = false
600
592
}
601
593
return dirty
602
594
}
0 commit comments