Index: src/frames.h |
diff --git a/src/frames.h b/src/frames.h |
index 213e8f74fc92d3e56bddbe0a679e02030e28090c..2d4a70c83b67ee3c4da3c5a6b88c063252b7ded6 100644 |
--- a/src/frames.h |
+++ b/src/frames.h |
@@ -671,9 +671,6 @@ class StandardFrame : public StackFrame { |
// Testers. |
bool is_standard() const override { return true; } |
- // Accessors. |
- inline Object* context() const; |
- |
// Access the expressions in the stack frame including locals. |
inline Object* GetExpression(int index) const; |
inline void SetExpression(int index, Object* value); |
@@ -738,6 +735,7 @@ class JavaScriptFrame : public StandardFrame { |
// Accessors. |
virtual JSFunction* function() const; |
virtual Object* receiver() const; |
+ inline Object* context() const; |
inline void set_receiver(Object* value); |
@@ -970,8 +968,9 @@ class WasmFrame : public StandardFrame { |
// Determine the code for the frame. |
Code* unchecked_code() const override; |
- Object* wasm_obj(); |
- uint32_t function_index(); |
+ // Accessors. |
+ Object* wasm_obj() const; |
+ uint32_t function_index() const; |
static WasmFrame* cast(StackFrame* frame) { |
DCHECK(frame->is_wasm()); |
@@ -1161,6 +1160,7 @@ class JavaScriptFrameIterator BASE_EMBEDDED { |
class StackTraceFrameIterator BASE_EMBEDDED { |
public: |
explicit StackTraceFrameIterator(Isolate* isolate); |
+ StackTraceFrameIterator(Isolate* isolate, StackFrame::Id id); |
bool done() const { return iterator_.done(); } |
void Advance(); |
@@ -1171,6 +1171,11 @@ class StackTraceFrameIterator BASE_EMBEDDED { |
inline JavaScriptFrame* javascript_frame() const; |
inline WasmFrame* wasm_frame() const; |
+ // Advance to the frame holding the arguments for the current |
+ // frame. This only affects the current frame if it is a javascript frame and |
+ // has adapted arguments. |
+ void AdvanceToArgumentsFrame(); |
+ |
private: |
StackFrameIterator iterator_; |
bool IsValidFrame(StackFrame* frame) const; |