Skip to content

Commit cb889d1

Browse files
committed
[MERGE #5389 @atulkatti] MSFT:17672777 Fix two pass concurrent sweep states.
Merge pull request #5389 from atulkatti:Bug17672777.AbortConcurrent.1.10.1 It is possible that AbortConcurrent gets called while we are in the concurrent sweep pass1 wait state. We handle this case correctly, just need to indicate that these can also be finished states for concurrent GC.
2 parents 9cb7e8c + db4a754 commit cb889d1

File tree

1 file changed

+2
-2
lines changed

1 file changed

+2
-2
lines changed

lib/Common/Memory/CollectionState.h

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -85,9 +85,9 @@ enum CollectionState
8585
CollectionStateConcurrentSweep = Collection_ConcurrentSweep | Collection_ExecutingConcurrent, // concurrent sweep
8686
#if ENABLE_ALLOCATIONS_DURING_CONCURRENT_SWEEP
8787
CollectionStateConcurrentSweepPass1 = Collection_ConcurrentSweep | Collection_ConcurrentSweepPass1 | Collection_ExecutingConcurrent, // concurrent sweep Pass 1
88-
CollectionStateConcurrentSweepPass1Wait = Collection_ConcurrentSweep | Collection_ConcurrentSweepPass1Wait, // concurrent sweep wait state after Pass 1 has finished
88+
CollectionStateConcurrentSweepPass1Wait = Collection_ConcurrentSweep | Collection_ConcurrentSweepPass1Wait | Collection_FinishConcurrent, // concurrent sweep wait state after Pass 1 has finished
8989
CollectionStateConcurrentSweepPass2 = Collection_ConcurrentSweep | Collection_ConcurrentSweepPass2 | Collection_ExecutingConcurrent, // concurrent sweep Pass 2
90-
CollectionStateConcurrentSweepPass2Wait = Collection_ConcurrentSweep | Collection_ConcurrentSweepPass2Wait, // concurrent sweep wait state after Pass 2 has finished
90+
CollectionStateConcurrentSweepPass2Wait = Collection_ConcurrentSweep | Collection_ConcurrentSweepPass2Wait | Collection_FinishConcurrent, // concurrent sweep wait state after Pass 2 has finished
9191
#endif
9292
CollectionStateTransferSweptWait = Collection_ConcurrentSweep | Collection_FinishConcurrent, // transfer swept objects (after concurrent sweep)
9393
#endif

0 commit comments

Comments
 (0)