Commit 56f39229 authored by Ulan Degenbaev's avatar Ulan Degenbaev Committed by Commit Bot

[heap] Enable compaction for concurrent marking.

Bug: chromium:694255
Change-Id: Id1ae4eb069a4ba79a35f1bb6b2bc2b1c445edb96
Reviewed-on: https://chromium-review.googlesource.com/600969Reviewed-by: 's avatarMichael Lippautz <mlippautz@chromium.org>
Commit-Queue: Ulan Degenbaev <ulan@chromium.org>
Cr-Commit-Position: refs/heads/master@{#47155}
parent 74fdd401
...@@ -672,9 +672,6 @@ DEFINE_INT(v8_os_page_size, 0, "override OS page size (in KBytes)") ...@@ -672,9 +672,6 @@ DEFINE_INT(v8_os_page_size, 0, "override OS page size (in KBytes)")
DEFINE_BOOL(always_compact, false, "Perform compaction on every full GC") DEFINE_BOOL(always_compact, false, "Perform compaction on every full GC")
DEFINE_BOOL(never_compact, false, DEFINE_BOOL(never_compact, false,
"Never perform compaction on full GC - testing only") "Never perform compaction on full GC - testing only")
// TODO(ulan): enable compaction for concurrent marking when it correctly
// records slots to evacuation candidates.
DEFINE_IMPLICATION(concurrent_marking, never_compact)
DEFINE_BOOL(compact_code_space, true, "Compact code space on full collections") DEFINE_BOOL(compact_code_space, true, "Compact code space on full collections")
DEFINE_BOOL(cleanup_code_caches_at_gc, true, DEFINE_BOOL(cleanup_code_caches_at_gc, true,
"Flush code caches in maps during mark compact cycle.") "Flush code caches in maps during mark compact cycle.")
......
...@@ -6405,7 +6405,6 @@ void Heap::ClearRecordedSlot(HeapObject* object, Object** slot) { ...@@ -6405,7 +6405,6 @@ void Heap::ClearRecordedSlot(HeapObject* object, Object** slot) {
if (!page->InNewSpace()) { if (!page->InNewSpace()) {
DCHECK_EQ(page->owner()->identity(), OLD_SPACE); DCHECK_EQ(page->owner()->identity(), OLD_SPACE);
store_buffer()->DeleteEntry(slot_addr); store_buffer()->DeleteEntry(slot_addr);
RememberedSet<OLD_TO_OLD>::Remove(page, slot_addr);
} }
} }
...@@ -6426,8 +6425,6 @@ void Heap::ClearRecordedSlotRange(Address start, Address end) { ...@@ -6426,8 +6425,6 @@ void Heap::ClearRecordedSlotRange(Address start, Address end) {
if (!page->InNewSpace()) { if (!page->InNewSpace()) {
DCHECK_EQ(page->owner()->identity(), OLD_SPACE); DCHECK_EQ(page->owner()->identity(), OLD_SPACE);
store_buffer()->DeleteEntry(start, end); store_buffer()->DeleteEntry(start, end);
RememberedSet<OLD_TO_OLD>::RemoveRange(page, start, end,
SlotSet::FREE_EMPTY_BUCKETS);
} }
} }
......
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