| Index: src/deoptimizer.h
|
| diff --git a/src/deoptimizer.h b/src/deoptimizer.h
|
| index 284676c36eeef1152ef3731d716240b5058aeb25..bee0209c74a597f244b6677b06840c4b649e57f7 100644
|
| --- a/src/deoptimizer.h
|
| +++ b/src/deoptimizer.h
|
| @@ -119,6 +119,9 @@ class Deoptimizer : public Malloced {
|
|
|
| int output_count() const { return output_count_; }
|
|
|
| + // Number of created JS frames. Not all created frames are necessarily JS.
|
| + int jsframes_count() const { return jsframes_count_; }
|
| +
|
| static Deoptimizer* New(JSFunction* function,
|
| BailoutType type,
|
| unsigned bailout_id,
|
| @@ -272,6 +275,8 @@ class Deoptimizer : public Malloced {
|
| void DoComputeOutputFrames();
|
| void DoComputeOsrOutputFrame();
|
| void DoComputeFrame(TranslationIterator* iterator, int frame_index);
|
| + void DoComputeArgumentsAdaptorFrame(TranslationIterator* iterator,
|
| + int frame_index);
|
| void DoTranslateCommand(TranslationIterator* iterator,
|
| int frame_index,
|
| unsigned output_offset);
|
| @@ -319,6 +324,8 @@ class Deoptimizer : public Malloced {
|
| FrameDescription* input_;
|
| // Number of output frames.
|
| int output_count_;
|
| + // Number of output js frames.
|
| + int jsframes_count_;
|
| // Array of output frame descriptions.
|
| FrameDescription** output_;
|
|
|
| @@ -542,6 +549,7 @@ class Translation BASE_EMBEDDED {
|
| enum Opcode {
|
| BEGIN,
|
| FRAME,
|
| + ARGUMENTS_ADAPTOR_FRAME,
|
| REGISTER,
|
| INT32_REGISTER,
|
| DOUBLE_REGISTER,
|
| @@ -567,6 +575,7 @@ class Translation BASE_EMBEDDED {
|
|
|
| // Commands.
|
| void BeginFrame(int node_id, int literal_id, unsigned height);
|
| + void BeginArgumentsAdaptorFrame(int literal_id, unsigned height);
|
| void StoreRegister(Register reg);
|
| void StoreInt32Register(Register reg);
|
| void StoreDoubleRegister(DoubleRegister reg);
|
|
|