From 2c45f607a2819c74d67ce6ee51027b1a79bea6d8 Mon Sep 17 00:00:00 2001 From: Clemens Backes Date: Tue, 5 May 2020 16:14:58 +0200 Subject: [PATCH] [wasm] Remove interpreter entry frames Interpreter entry compilation was removed in https://crrev.com/c/2172962. This CL removes the {WasmInterpreterEntryFrame} and the corresponding {WASM_INTERPRETER_ENTRY} code kind. Some follow-up cleanups are left as TODOs. R=jkummerow@chromium.org,bmeurer@chromium.org Bug: v8:10389 Change-Id: I1a43eba1ac1a751e05990c688088d99fc901231f Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/2182456 Reviewed-by: Jakob Kummerow Reviewed-by: Benedikt Meurer Commit-Queue: Clemens Backes Cr-Commit-Position: refs/heads/master@{#67607} --- src/codegen/optimized-compilation-info.cc | 2 - src/compiler/backend/code-generator.cc | 1 - src/compiler/pipeline.cc | 1 - src/debug/debug-frames.cc | 9 -- src/debug/debug-frames.h | 1 - .../wasm/gdb-server/wasm-module-debug.cc | 4 +- src/execution/frames-inl.h | 4 - src/execution/frames.cc | 90 ++----------------- src/execution/frames.h | 81 ++--------------- src/execution/isolate.cc | 25 +----- src/execution/messages.cc | 18 +--- src/logging/log.cc | 6 -- src/objects/code.h | 1 - src/objects/frame-array-inl.h | 10 +-- src/objects/frame-array.h | 15 ++-- src/objects/objects.cc | 3 +- src/wasm/function-compiler.h | 1 - src/wasm/wasm-code-manager.cc | 4 - src/wasm/wasm-code-manager.h | 1 - src/wasm/wasm-debug-evaluate.cc | 8 -- src/wasm/wasm-debug.cc | 39 -------- src/wasm/wasm-interpreter.cc | 3 +- src/wasm/wasm-objects.h | 14 --- src/wasm/wasm-serialization.cc | 6 +- tools/v8heapconst.py | 1 - 25 files changed, 33 insertions(+), 315 deletions(-) diff --git a/src/codegen/optimized-compilation-info.cc b/src/codegen/optimized-compilation-info.cc index 7cf71e8d0f..4ebf99e084 100644 --- a/src/codegen/optimized-compilation-info.cc +++ b/src/codegen/optimized-compilation-info.cc @@ -169,8 +169,6 @@ StackFrame::Type OptimizedCompilationInfo::GetOutputStackFrameType() const { return StackFrame::JS_TO_WASM; case Code::WASM_TO_JS_FUNCTION: return StackFrame::WASM_TO_JS; - case Code::WASM_INTERPRETER_ENTRY: - return StackFrame::WASM_INTERPRETER_ENTRY; case Code::C_WASM_ENTRY: return StackFrame::C_WASM_ENTRY; default: diff --git a/src/compiler/backend/code-generator.cc b/src/compiler/backend/code-generator.cc index c0229ea27c..415048edec 100644 --- a/src/compiler/backend/code-generator.cc +++ b/src/compiler/backend/code-generator.cc @@ -93,7 +93,6 @@ CodeGenerator::CodeGenerator( if (code_kind == Code::WASM_FUNCTION || code_kind == Code::WASM_TO_CAPI_FUNCTION || code_kind == Code::WASM_TO_JS_FUNCTION || - code_kind == Code::WASM_INTERPRETER_ENTRY || code_kind == Code::JS_TO_WASM_FUNCTION) { tasm_.set_abort_hard(true); } diff --git a/src/compiler/pipeline.cc b/src/compiler/pipeline.cc index 77603a9dc4..ee6609cfa6 100644 --- a/src/compiler/pipeline.cc +++ b/src/compiler/pipeline.cc @@ -2328,7 +2328,6 @@ struct VerifyGraphPhase { case Code::WASM_TO_CAPI_FUNCTION: case Code::WASM_TO_JS_FUNCTION: case Code::JS_TO_WASM_FUNCTION: - case Code::WASM_INTERPRETER_ENTRY: case Code::C_WASM_ENTRY: code_type = Verifier::kWasm; break; diff --git a/src/debug/debug-frames.cc b/src/debug/debug-frames.cc index 19178d34ce..3f79f5ee3f 100644 --- a/src/debug/debug-frames.cc +++ b/src/debug/debug-frames.cc @@ -43,12 +43,6 @@ FrameInspector::FrameInspector(StandardFrame* frame, int inlined_frame_index, DCHECK_NOT_NULL(js_frame); deoptimized_frame_.reset(Deoptimizer::DebuggerInspectableFrame( js_frame, inlined_frame_index, isolate)); - } else if (frame_->is_wasm_interpreter_entry()) { - wasm_interpreted_frame_ = - WasmInterpreterEntryFrame::cast(frame_) - ->debug_info() - .GetInterpretedFrame(frame_->fp(), inlined_frame_index); - DCHECK(wasm_interpreted_frame_); } } @@ -63,14 +57,11 @@ JavaScriptFrame* FrameInspector::javascript_frame() { int FrameInspector::GetParametersCount() { if (is_optimized_) return deoptimized_frame_->parameters_count(); - if (wasm_interpreted_frame_) - return wasm_interpreted_frame_->GetParameterCount(); return frame_->ComputeParametersCount(); } Handle FrameInspector::GetParameter(int index) { if (is_optimized_) return deoptimized_frame_->GetParameter(index); - // TODO(clemensb): Handle wasm_interpreted_frame_. return handle(frame_->GetParameter(index), isolate_); } diff --git a/src/debug/debug-frames.h b/src/debug/debug-frames.h index 78248614e2..13da127904 100644 --- a/src/debug/debug-frames.h +++ b/src/debug/debug-frames.h @@ -52,7 +52,6 @@ class FrameInspector { StandardFrame* frame_; int inlined_frame_index_; std::unique_ptr deoptimized_frame_; - wasm::WasmInterpreter::FramePtr wasm_interpreted_frame_; Isolate* isolate_; Handle