[heap] Clear surviving new large objects map after Scavenge.

Bug: chromium:852420
Change-Id: I106b783899cef2f124450f8cc266b3b2ac09b4ae
Reviewed-on: https://chromium-review.googlesource.com/c/1350114
Reviewed-by: Michael Lippautz <mlippautz@chromium.org>
Commit-Queue: Hannes Payer <hpayer@chromium.org>
Cr-Commit-Position: refs/heads/master@{#57812}
This commit is contained in:
Hannes Payer 2018-11-26 09:25:27 +01:00 committed by Commit Bot
parent c8d3d8fb8b
commit 2d3a893ae6

View File

@ -154,6 +154,7 @@ ScavengerCollector::ScavengerCollector(Heap* heap)
: isolate_(heap->isolate()), heap_(heap), parallel_scavenge_semaphore_(0) {}
void ScavengerCollector::CollectGarbage() {
DCHECK(surviving_new_large_objects_.empty());
ItemParallelJob job(isolate_->cancelable_task_manager(),
&parallel_scavenge_semaphore_);
const int kMainThreadId = 0;
@ -297,6 +298,7 @@ void ScavengerCollector::HandleSurvivingNewLargeObjects() {
heap_->lo_space()->PromoteNewLargeObject(page);
}
DCHECK(heap_->new_lo_space()->IsEmpty());
surviving_new_large_objects_.clear();
}
void ScavengerCollector::MergeSurvivingNewLargeObjects(