diff --git a/ecmascript/mem/heap.cpp b/ecmascript/mem/heap.cpp index 9294b267354982e618573b87620122b2fe07d67d..be2844958cae5d1d4a066007ec0961ad73cd7600 100644 --- a/ecmascript/mem/heap.cpp +++ b/ecmascript/mem/heap.cpp @@ -152,7 +152,12 @@ void Heap::CollectGarbage(TriggerGCType gcType) SetNewSpaceMaximumCapacity(SEMI_SPACE_SIZE_CAPACITY); ResetAppStartup(); } else { - semiSpaceCollector_->RunPhases(); + if (CheckAndTriggerCompressGC()) { + compressCollector_->RunPhases(); + RecomputeLimits(); + } else { + semiSpaceCollector_->RunPhases(); + } } break; case TriggerGCType::OLD_GC: