Commit 2ce533df authored by Michael Lippautz's avatar Michael Lippautz Committed by Commit Bot

heap: Marking verification enables detailed class names

This change enables detailed class names for debugging when the marking
verifier is enabled.

Change-Id: I2d0c8e3587a28768eeb8bad5cc4f5de85c81e578
Reviewed-on: https://chromium-review.googlesource.com/c/chromium/src/+/1986785Reviewed-by: default avatarOmer Katz <omerkatz@chromium.org>
Reviewed-by: default avatarKentaro Hara <haraken@chromium.org>
Commit-Queue: Michael Lippautz <mlippautz@chromium.org>
Cr-Commit-Position: refs/heads/master@{#728197}
parent 5eab9931
......@@ -11,12 +11,17 @@ declare_args() {
# --debug-devtools cmdline switch.
debug_devtools = false
# Enables additional Oilpan heap verification instrumentation.
enable_blink_heap_verification = false
}
declare_args() {
# If enable_additional_blink_object_names is set to true, then blink provides
# additional debug names of blink-internal (i.e. oilpan) object names at the
# cost of additional memory. Many of these objects only show up in heap
# snapshots if the parameter `treatGlobalObjectsAsRoots` of `takeHeapSnapshot`
# is set.
enable_additional_blink_object_names = false
enable_additional_blink_object_names = enable_blink_heap_verification
}
# Unhandled Tap enable means Contextual Search aka Tap to Search.
......
......@@ -5,13 +5,9 @@
import("//build/buildflag_header.gni")
import("//build/config/jumbo.gni")
import("//testing/test.gni")
import("//third_party/blink/public/public_features.gni")
import("//third_party/blink/renderer/platform/platform.gni")
declare_args() {
# Enables heap verification.
enable_blink_heap_verification = false
}
buildflag_header("blink_heap_buildflags") {
header = "heap_buildflags.h"
header_dir = "third_party/blink/renderer/platform/heap"
......
......@@ -83,13 +83,11 @@ void MarkingVerifier::VerifyChild(void* object, void* base_object_payload) {
CHECK(child_header);
if (!child_header->IsMarked()) {
CHECK(!PageFromObject(child_header->Payload())->HasBeenSwept());
LOG(FATAL)
<< "MarkingVerifier: Encountered unmarked object. " << std::endl
<< std::endl
<< "Hint (use enable_additional_blink_object_names for better naming): "
<< std::endl
<< parent_->Name() << std::endl
<< "\\-> " << child_header->Name() << std::endl;
LOG(FATAL) << "MarkingVerifier: Encountered unmarked object. " << std::endl
<< std::endl
<< "Hint: " << std::endl
<< parent_->Name() << std::endl
<< "\\-> " << child_header->Name() << std::endl;
}
}
......
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