Index: src/deoptimizer.h |
diff --git a/src/deoptimizer.h b/src/deoptimizer.h |
index 16c5abeb8663c15ac96e5c8e6f22fa83abe88c8c..838b778ea0ca1709d86768fe01f4ffa928d6c2e0 100644 |
--- a/src/deoptimizer.h |
+++ b/src/deoptimizer.h |
@@ -159,6 +159,7 @@ class TranslatedFrame { |
kArgumentsAdaptor, |
kConstructStub, |
kCompiledStub, |
+ kBuiltinContinuation, |
kInvalid |
}; |
@@ -230,6 +231,8 @@ class TranslatedFrame { |
static TranslatedFrame ConstructStubFrame(BailoutId bailout_id, |
SharedFunctionInfo* shared_info, |
int height); |
+ static TranslatedFrame BuiltinContinuationFrame( |
+ BailoutId bailout_id, SharedFunctionInfo* shared_info, int height); |
static TranslatedFrame CompiledStubFrame(int height, Isolate* isolate) { |
return TranslatedFrame(kCompiledStub, isolate, nullptr, height); |
} |
@@ -569,6 +572,8 @@ class Deoptimizer : public Malloced { |
int frame_index, bool is_setter_stub_frame); |
void DoComputeCompiledStubFrame(TranslatedFrame* translated_frame, |
int frame_index); |
+ void DoComputeBuiltinContinuation(TranslatedFrame* translated_frame, |
+ int frame_index); |
void WriteTranslatedValueToOutput( |
TranslatedFrame::iterator* iterator, int* input_index, int frame_index, |
@@ -926,6 +931,7 @@ class TranslationIterator BASE_EMBEDDED { |
V(BEGIN) \ |
V(JS_FRAME) \ |
V(INTERPRETED_FRAME) \ |
+ V(BUILTIN_CONTINUATION_FRAME) \ |
V(CONSTRUCT_STUB_FRAME) \ |
V(GETTER_STUB_FRAME) \ |
V(SETTER_STUB_FRAME) \ |
@@ -981,6 +987,8 @@ class Translation BASE_EMBEDDED { |
void BeginTailCallerFrame(int literal_id); |
void BeginConstructStubFrame(BailoutId bailout_id, int literal_id, |
unsigned height); |
+ void BeginBuiltinContinuationFrame(BailoutId bailout_id, int literal_id, |
+ unsigned height); |
void BeginGetterStubFrame(int literal_id); |
void BeginSetterStubFrame(int literal_id); |
void BeginArgumentsObject(int args_length); |