diff --git a/ecmascript/mem/heap.cpp b/ecmascript/mem/heap.cpp index 38ba365dfd4869389f9118a402422a51c8942f9e..61aba40a8b2ae6d2c76e280ddf0ad80c42dda48f 100644 --- a/ecmascript/mem/heap.cpp +++ b/ecmascript/mem/heap.cpp @@ -230,7 +230,7 @@ void Heap::RecomputeLimits() bool Heap::CheckAndTriggerOldGC() { - if (oldSpace_->GetCommittedSize() <= oldSpaceAllocLimit_) { + if ((oldSpace_->GetCommittedSize() + hugeObjectSpace_->GetCommittedSize()) <= oldSpaceAllocLimit_) { return false; } CollectGarbage(TriggerGCType::OLD_GC); @@ -239,7 +239,7 @@ bool Heap::CheckAndTriggerOldGC() bool Heap::CheckAndTriggerCompressGC() { - if (oldSpace_->GetCommittedSize() <= oldSpaceAllocLimit_) { + if ((oldSpace_->GetCommittedSize() + hugeObjectSpace_->GetCommittedSize()) <= oldSpaceAllocLimit_) { return false; } CollectGarbage(TriggerGCType::COMPRESS_FULL_GC);