From e4b3f93eab8414d9c121a8740d3c91834e7449d1 Mon Sep 17 00:00:00 2001 From: ulan Date: Thu, 11 May 2017 04:04:12 -0700 Subject: [PATCH] [heap] Add a flag to disable remembered set verification. BUG=chromium:720606 Review-Url: https://codereview.chromium.org/2871173006 Cr-Commit-Position: refs/heads/master@{#45252} --- src/flag-definitions.h | 2 ++ src/heap/spaces.cc | 8 ++++++-- 2 files changed, 8 insertions(+), 2 deletions(-) diff --git a/src/flag-definitions.h b/src/flag-definitions.h index 5a44b609aa..06944a10f2 100644 --- a/src/flag-definitions.h +++ b/src/flag-definitions.h @@ -700,6 +700,8 @@ DEFINE_BOOL(trace_detached_contexts, false, DEFINE_IMPLICATION(trace_detached_contexts, track_detached_contexts) #ifdef VERIFY_HEAP DEFINE_BOOL(verify_heap, false, "verify heap pointers before and after GC") +DEFINE_BOOL(verify_heap_skip_remembered_set, false, + "disable remembered set verification") #endif DEFINE_BOOL(move_object_start, true, "enable moving of object starts") DEFINE_BOOL(memory_reducer, true, "use memory reducer") diff --git a/src/heap/spaces.cc b/src/heap/spaces.cc index 8f75e14b78..71e1b60be9 100644 --- a/src/heap/spaces.cc +++ b/src/heap/spaces.cc @@ -1569,7 +1569,9 @@ void PagedSpace::Verify(ObjectVisitor* visitor) { // The object itself should look OK. object->ObjectVerify(); - heap()->VerifyRememberedSetFor(object); + if (!FLAG_verify_heap_skip_remembered_set) { + heap()->VerifyRememberedSetFor(object); + } // All the interior pointers should be contained in the heap. int size = object->Size(); @@ -3323,7 +3325,9 @@ void LargeObjectSpace::Verify() { // The object itself should look OK. object->ObjectVerify(); - heap()->VerifyRememberedSetFor(object); + if (!FLAG_verify_heap_skip_remembered_set) { + heap()->VerifyRememberedSetFor(object); + } // Byte arrays and strings don't have interior pointers. if (object->IsAbstractCode()) {