Commit 32981bdb authored by Pierre Langlois's avatar Pierre Langlois Committed by Commit Bot

[perf-prof] Remove option to generate unwinding info in the snapshot

Emitting unwinding info for builtins for perf to consume doesn't make sense with
embedded builtins so let's just remove the option.

The perf support is meant for code on the heap and the builtins are not there
anymore. If we want perf to be able to unwind through builtins we should emit
the unwinding DWARF information directly into the binary, using the dedicated
.eh_frame ELF section. This would also mean GDB would be able to unwind through
builtins as well which would be great.

Change-Id: I751cc5eb1e6f7c0eeae6b37a42986ae8ea47d6a0
Reviewed-on: https://chromium-review.googlesource.com/c/1340294Reviewed-by: 's avatarJaroslav Sevcik <jarin@chromium.org>
Reviewed-by: 's avatarJakob Gruber <jgruber@chromium.org>
Reviewed-by: 's avatarMichael Stanton <mvstanton@chromium.org>
Reviewed-by: 's avatarRoss McIlroy <rmcilroy@chromium.org>
Commit-Queue: Pierre Langlois <pierre.langlois@arm.com>
Cr-Commit-Position: refs/heads/master@{#57641}
parent 2bcbad57
...@@ -123,10 +123,6 @@ declare_args() { ...@@ -123,10 +123,6 @@ declare_args() {
# Enables various testing features. # Enables various testing features.
v8_enable_test_features = "" v8_enable_test_features = ""
# Build the snapshot with unwinding information for perf.
# Sets -dV8_USE_SNAPSHOT_WITH_UNWINDING_INFO.
v8_perf_prof_unwinding_info = false
# With post mortem support enabled, metadata is embedded into libv8 that # With post mortem support enabled, metadata is embedded into libv8 that
# describes various parameters of the VM for use by debuggers. See # describes various parameters of the VM for use by debuggers. See
# tools/gen-postmortem-metadata.py for details. # tools/gen-postmortem-metadata.py for details.
...@@ -391,9 +387,6 @@ config("features") { ...@@ -391,9 +387,6 @@ config("features") {
} }
if (v8_use_snapshot) { if (v8_use_snapshot) {
defines += [ "V8_USE_SNAPSHOT" ] defines += [ "V8_USE_SNAPSHOT" ]
if (v8_perf_prof_unwinding_info) {
defines += [ "V8_USE_SNAPSHOT_WITH_UNWINDING_INFO" ]
}
} }
if (v8_use_external_startup_data) { if (v8_use_external_startup_data) {
defines += [ "V8_USE_EXTERNAL_STARTUP_DATA" ] defines += [ "V8_USE_EXTERNAL_STARTUP_DATA" ]
...@@ -1099,10 +1092,6 @@ template("run_mksnapshot") { ...@@ -1099,10 +1092,6 @@ template("run_mksnapshot") {
] ]
} }
if (v8_perf_prof_unwinding_info) {
args += [ "--perf-prof-unwinding-info" ]
}
if (v8_use_external_startup_data) { if (v8_use_external_startup_data) {
outputs += [ "$root_out_dir/snapshot_blob${suffix}.bin" ] outputs += [ "$root_out_dir/snapshot_blob${suffix}.bin" ]
data += [ "$root_out_dir/snapshot_blob${suffix}.bin" ] data += [ "$root_out_dir/snapshot_blob${suffix}.bin" ]
......
...@@ -282,15 +282,6 @@ void Interpreter::Initialize() { ...@@ -282,15 +282,6 @@ void Interpreter::Initialize() {
}); });
DCHECK(builtin_id == Builtins::builtin_count); DCHECK(builtin_id == Builtins::builtin_count);
DCHECK(IsDispatchTableInitialized()); DCHECK(IsDispatchTableInitialized());
#if defined(V8_USE_SNAPSHOT) && !defined(V8_USE_SNAPSHOT_WITH_UNWINDING_INFO)
if (!isolate_->serializer_enabled() && FLAG_perf_prof_unwinding_info) {
StdoutStream{}
<< "Warning: The --perf-prof-unwinding-info flag can be passed at "
"mksnapshot time to get better results."
<< std::endl;
}
#endif
} }
bool Interpreter::IsDispatchTableInitialized() const { bool Interpreter::IsDispatchTableInitialized() const {
......
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