Index: src/deoptimizer.h |
diff --git a/src/deoptimizer.h b/src/deoptimizer.h |
index 58e86ed26ffa33a7243367565f6caadfb12c0207..10685b61931bdc8f79a3537790c49683261ab756 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, |
@@ -589,6 +593,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); |
@@ -606,7 +611,8 @@ class Deoptimizer : public Malloced { |
const char* debug_hint_string); |
unsigned ComputeInputFrameSize() const; |
- unsigned ComputeFixedSize(JSFunction* function) const; |
+ unsigned ComputeJavascriptFixedSize(JSFunction* function) const; |
+ unsigned ComputeInterpretedFixedSize(JSFunction* function) const; |
unsigned ComputeIncomingArgumentSize(JSFunction* function) const; |
static unsigned ComputeOutgoingArgumentSize(Code* code, unsigned bailout_id); |
@@ -951,6 +957,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) \ |
@@ -996,6 +1003,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); |