[heap] MinorMC: Avoid clearing mark bits for promoted pages
We need to keep the new space mark bits as they are still required for pointer updating. TBR=hpayer@chromium.org NOTRY=true Bug: chromium:651354 Change-Id: Idc85f08a3b6525dd1ca932585f5e696a22b12808 Reviewed-on: https://chromium-review.googlesource.com/522609 Reviewed-by: Michael Lippautz <mlippautz@chromium.org> Commit-Queue: Michael Lippautz <mlippautz@chromium.org> Cr-Commit-Position: refs/heads/master@{#45690}
This commit is contained in:
parent
9b5042575c
commit
70f428bd65
@ -3764,9 +3764,9 @@ bool YoungGenerationEvacuator::RawEvacuatePage(Page* page,
|
||||
ZAP_FREE_SPACE);
|
||||
} else if (heap()->incremental_marking()->IsMarking()) {
|
||||
// When incremental marking is on, we need to clear the mark bits of
|
||||
// the full collector. Make the page completely iterable and clear also
|
||||
// the young generation mark bits in the case.
|
||||
collector_->MakeIterable(page, MarkingTreatmentMode::CLEAR,
|
||||
// the full collector. We cannot yet discard the young generation mark
|
||||
// bits as they are still relevant for pointers updating.
|
||||
collector_->MakeIterable(page, MarkingTreatmentMode::KEEP,
|
||||
IGNORE_FREE_SPACE);
|
||||
}
|
||||
break;
|
||||
@ -3784,9 +3784,9 @@ bool YoungGenerationEvacuator::RawEvacuatePage(Page* page,
|
||||
ZAP_FREE_SPACE);
|
||||
} else if (heap()->incremental_marking()->IsMarking()) {
|
||||
// When incremental marking is on, we need to clear the mark bits of
|
||||
// the full collector. Make the page completely iterable and clear also
|
||||
// the young generation mark bits in the case.
|
||||
collector_->MakeIterable(page, MarkingTreatmentMode::CLEAR,
|
||||
// the full collector. We cannot yet discard the young generation mark
|
||||
// bits as they are still relevant for pointers updating.
|
||||
collector_->MakeIterable(page, MarkingTreatmentMode::KEEP,
|
||||
IGNORE_FREE_SPACE);
|
||||
}
|
||||
break;
|
||||
|
Loading…
Reference in New Issue
Block a user