[heap] Release invalidates slots set in MinorMC.
Bug: v8:12612, chromium:1411746 Change-Id: I6c06e6c924f9f548cb2014172d467ed19a5abbc5 Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/4208940 Reviewed-by: Michael Lippautz <mlippautz@chromium.org> Commit-Queue: Omer Katz <omerkatz@chromium.org> Cr-Commit-Position: refs/heads/main@{#85605}
This commit is contained in:
parent
a5eb40d90d
commit
806edfa6ea
@ -4173,10 +4173,6 @@ void VerifyRememberedSetsAfterEvacuation(Heap* heap,
|
|||||||
|
|
||||||
// GCs need to filter invalidated slots.
|
// GCs need to filter invalidated slots.
|
||||||
DCHECK_NULL(chunk->invalidated_slots<OLD_TO_OLD>());
|
DCHECK_NULL(chunk->invalidated_slots<OLD_TO_OLD>());
|
||||||
// TODO(v8:12612): This DCHECK holds for MinorMC because MinorMC doesn't use
|
|
||||||
// incremental/concurrent marking, and thus it is not possible to allocate
|
|
||||||
// an invalidated slots set during MinorMC. This will likely break once
|
|
||||||
// MinorMC marks concurrently.
|
|
||||||
DCHECK_NULL(chunk->invalidated_slots<OLD_TO_NEW>());
|
DCHECK_NULL(chunk->invalidated_slots<OLD_TO_NEW>());
|
||||||
if (collector == GarbageCollector::MARK_COMPACTOR) {
|
if (collector == GarbageCollector::MARK_COMPACTOR) {
|
||||||
DCHECK_NULL(chunk->invalidated_slots<OLD_TO_SHARED>());
|
DCHECK_NULL(chunk->invalidated_slots<OLD_TO_SHARED>());
|
||||||
@ -6149,6 +6145,9 @@ void PageMarkingItem::MarkUntypedPointers(YoungGenerationMarkingTask* task) {
|
|||||||
return CheckAndMarkObject(task, slot);
|
return CheckAndMarkObject(task, slot);
|
||||||
},
|
},
|
||||||
SlotSet::FREE_EMPTY_BUCKETS);
|
SlotSet::FREE_EMPTY_BUCKETS);
|
||||||
|
// The invalidated slots are not needed after old-to-new slots were
|
||||||
|
// processed.
|
||||||
|
chunk_->ReleaseInvalidatedSlots<OLD_TO_NEW>();
|
||||||
}
|
}
|
||||||
|
|
||||||
void PageMarkingItem::MarkTypedPointers(YoungGenerationMarkingTask* task) {
|
void PageMarkingItem::MarkTypedPointers(YoungGenerationMarkingTask* task) {
|
||||||
|
Loading…
Reference in New Issue
Block a user