[K/N] Fix finalizer handling with mimalloc ^KT-63423
This commit is contained in:
committed by
Space Team
parent
50203adb72
commit
266208c500
@@ -59,7 +59,7 @@ SegregatedFinalizerQueue<typename Traits::ObjectFactory::FinalizerQueue> Sweep(
|
|||||||
sweepHandle.addSweptObject();
|
sweepHandle.addSweptObject();
|
||||||
if (HasFinalizers(objHeader)) {
|
if (HasFinalizers(objHeader)) {
|
||||||
auto* extraObject = mm::ExtraObjectData::Get(objHeader);
|
auto* extraObject = mm::ExtraObjectData::Get(objHeader);
|
||||||
if (compiler::objcDisposeOnMain() && extraObject->getFlag(mm::ExtraObjectData::FLAGS_RELEASE_ON_MAIN_QUEUE)) {
|
if (compiler::objcDisposeOnMain() && extraObject && extraObject->getFlag(mm::ExtraObjectData::FLAGS_RELEASE_ON_MAIN_QUEUE)) {
|
||||||
objectFactoryIter.MoveAndAdvance(finalizerQueue.mainThread, it);
|
objectFactoryIter.MoveAndAdvance(finalizerQueue.mainThread, it);
|
||||||
} else {
|
} else {
|
||||||
objectFactoryIter.MoveAndAdvance(finalizerQueue.regular, it);
|
objectFactoryIter.MoveAndAdvance(finalizerQueue.regular, it);
|
||||||
|
|||||||
Reference in New Issue
Block a user