Commit 916deea5 authored by hpayer's avatar hpayer Committed by Commit bot

There are no evacuation candidates and slot buffers when marking is started.

BUG=

Review URL: https://codereview.chromium.org/939163002

Cr-Commit-Position: refs/heads/master@{#26770}
parent c4d2234e
...@@ -723,7 +723,12 @@ void MarkCompactCollector::CollectEvacuationCandidates(PagedSpace* space) { ...@@ -723,7 +723,12 @@ void MarkCompactCollector::CollectEvacuationCandidates(PagedSpace* space) {
while (it.has_next()) { while (it.has_next()) {
Page* p = it.next(); Page* p = it.next();
if (p->NeverEvacuate()) continue; if (p->NeverEvacuate()) continue;
p->ClearEvacuationCandidate();
// Invariant: Evacuation candidates are just created when marking is
// started. At the end of a GC all evacuation candidates are cleared and
// their slot buffers are released.
CHECK(!p->IsEvacuationCandidate());
CHECK(p->slots_buffer() == NULL);
if (FLAG_stress_compaction) { if (FLAG_stress_compaction) {
unsigned int counter = space->heap()->ms_count(); unsigned int counter = space->heap()->ms_count();
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment