Don't scan on scavenge dead large objects.
BUG= Review URL: https://codereview.chromium.org/994893002 Cr-Commit-Position: refs/heads/master@{#27092}
This commit is contained in:
parent
3f5ff276f3
commit
8baa5a087d
@ -452,6 +452,15 @@ void StoreBuffer::ClearInvalidStoreBufferEntries() {
|
||||
}
|
||||
old_top_ = new_top;
|
||||
ClearFilteringHashSets();
|
||||
|
||||
// Don't scan on scavenge dead large objects.
|
||||
LargeObjectIterator it(heap_->lo_space());
|
||||
for (HeapObject* object = it.Next(); object != NULL; object = it.Next()) {
|
||||
MemoryChunk* chunk = MemoryChunk::FromAddress(object->address());
|
||||
if (chunk->scan_on_scavenge() && !Marking::MarkBitFrom(object).Get()) {
|
||||
chunk->set_scan_on_scavenge(false);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
|
Loading…
Reference in New Issue
Block a user