Index: src/frames-inl.h |
diff --git a/src/frames-inl.h b/src/frames-inl.h |
index 1ac9800f5a4ed26e2434bf757d1344cc276f6a85..4cd8dd6851989df541a86e1beebfab7670c08fce 100644 |
--- a/src/frames-inl.h |
+++ b/src/frames-inl.h |
@@ -224,6 +224,13 @@ inline BuiltinFrame::BuiltinFrame(StackFrameIteratorBase* iterator) |
inline WasmFrame::WasmFrame(StackFrameIteratorBase* iterator) |
: StandardFrame(iterator) {} |
+inline WasmCompiledFrame::WasmCompiledFrame(StackFrameIteratorBase* iterator) |
+ : WasmFrame(iterator) {} |
+ |
+inline WasmInterpretedFrame::WasmInterpretedFrame( |
+ StackFrameIteratorBase* iterator) |
+ : WasmFrame(iterator) {} |
+ |
inline WasmToJsFrame::WasmToJsFrame(StackFrameIteratorBase* iterator) |
: StubFrame(iterator) {} |
@@ -269,7 +276,7 @@ inline JavaScriptFrame* JavaScriptFrameIterator::frame() const { |
inline StandardFrame* StackTraceFrameIterator::frame() const { |
StackFrame* frame = iterator_.frame(); |
DCHECK(frame->is_java_script() || frame->is_arguments_adaptor() || |
- frame->is_wasm()); |
+ frame->is_wasm_compiled() || frame->is_wasm_interpreted()); |
return static_cast<StandardFrame*>(frame); |
} |
@@ -295,6 +302,29 @@ inline StackFrame* SafeStackFrameIterator::frame() const { |
return frame_; |
} |
+inline Handle<Object> FrameSummary::receiver() { |
+ DCHECK(is_javascript()); |
+ return receiver_; |
+} |
+ |
+Handle<Object> FrameSummary::wasm_object() { |
+ DCHECK(is_wasm()); |
+ return receiver_; |
+} |
+ |
+Handle<JSFunction> FrameSummary::function() { |
+ DCHECK(is_javascript()); |
+ return Handle<JSFunction>::cast(function_); |
+} |
+ |
+int FrameSummary::wasm_function_index() { |
+ DCHECK(is_wasm()); |
+ return Smi::cast(*function_)->value(); |
+} |
+ |
+bool FrameSummary::is_subject_to_debugging() { |
+ return is_wasm() || function()->shared()->IsSubjectToDebugging(); |
+} |
} // namespace internal |
} // namespace v8 |