| Index: src/deoptimizer.h
|
| diff --git a/src/deoptimizer.h b/src/deoptimizer.h
|
| index 1c6d9e190a871db5d2c7ce0054e2becbb8b87dee..5789a504d47251a92165c8414e3faa9ea08c9142 100644
|
| --- a/src/deoptimizer.h
|
| +++ b/src/deoptimizer.h
|
| @@ -112,6 +112,7 @@ class TranslatedFrame {
|
| public:
|
| enum Kind {
|
| kFunction,
|
| + kInterpretedFunction,
|
| kGetter,
|
| kSetter,
|
| kArgumentsAdaptor,
|
| @@ -172,6 +173,9 @@ class TranslatedFrame {
|
| // Constructor static methods.
|
| static TranslatedFrame JSFrame(BailoutId node_id,
|
| SharedFunctionInfo* shared_info, int height);
|
| + static TranslatedFrame InterpretedFrame(BailoutId bytecode_offset,
|
| + SharedFunctionInfo* shared_info,
|
| + int height);
|
| static TranslatedFrame AccessorFrame(Kind kind,
|
| SharedFunctionInfo* shared_info);
|
| static TranslatedFrame ArgumentsAdaptorFrame(SharedFunctionInfo* shared_info,
|
| @@ -588,6 +592,7 @@ class Deoptimizer : public Malloced {
|
|
|
| void DoComputeOutputFrames();
|
| void DoComputeJSFrame(int frame_index);
|
| + void DoComputeInterpretedFrame(int frame_index);
|
| void DoComputeArgumentsAdaptorFrame(int frame_index);
|
| void DoComputeConstructStubFrame(int frame_index);
|
| void DoComputeAccessorStubFrame(int frame_index, bool is_setter_stub_frame);
|
| @@ -605,7 +610,7 @@ class Deoptimizer : public Malloced {
|
| const char* debug_hint_string);
|
|
|
| unsigned ComputeInputFrameSize() const;
|
| - unsigned ComputeFixedSize(JSFunction* function) const;
|
| + unsigned ComputeFixedSize(JSFunction* function, StackFrame::Type type) const;
|
|
|
| unsigned ComputeIncomingArgumentSize(JSFunction* function) const;
|
| static unsigned ComputeOutgoingArgumentSize(Code* code, unsigned bailout_id);
|
| @@ -950,6 +955,7 @@ class TranslationIterator BASE_EMBEDDED {
|
| #define TRANSLATION_OPCODE_LIST(V) \
|
| V(BEGIN) \
|
| V(JS_FRAME) \
|
| + V(INTERPRETED_FRAME) \
|
| V(CONSTRUCT_STUB_FRAME) \
|
| V(GETTER_STUB_FRAME) \
|
| V(SETTER_STUB_FRAME) \
|
| @@ -995,6 +1001,8 @@ class Translation BASE_EMBEDDED {
|
|
|
| // Commands.
|
| void BeginJSFrame(BailoutId node_id, int literal_id, unsigned height);
|
| + void BeginInterpretedFrame(BailoutId bytecode_offset, int literal_id,
|
| + unsigned height);
|
| void BeginCompiledStubFrame(int height);
|
| void BeginArgumentsAdaptorFrame(int literal_id, unsigned height);
|
| void BeginConstructStubFrame(int literal_id, unsigned height);
|
|
|