1
0
Fork 0
mirror of https://github.com/VSadov/Satori.git synced 2025-06-11 02:13:38 +09:00
This commit is contained in:
vsadov 2022-09-01 14:19:33 -07:00
parent 126476ad1b
commit 2944aa8047

View file

@ -1048,7 +1048,7 @@ void SatoriRecycler::MarkStrongReferences()
void SatoriRecycler::MarkStrongReferencesWorker()
{
// in concurrent case the current stack is unlikely to have anything unmarked
// it is still preferred to lookat own stack on same thread.
// it is still preferred to look at own stack on the same thread.
// this will also ask for helpers.
MarkOwnStackAndDrainQueues();
@ -1267,7 +1267,7 @@ void SatoriRecycler::MarkFnConcurrent(PTR_PTR_Object ppObject, ScanContext* sc,
}
// since this is concurrent, in a conservative case an allocation could have caused a split
// that shortened the found region and the region no longer matches the ref (which means the ref is not real).
// that shortened the found region and the region no longer contains the ref (which means the ref is not real).
// Note that the split could only happen before we are done with allocator queue (which is synchronising)
// and assign 0+ gen to the region.
// So check here in the opposite order - first that region is 0+ gen and then that the size is still right.