| Index: src/deoptimizer.h
|
| diff --git a/src/deoptimizer.h b/src/deoptimizer.h
|
| index 4aa38cefee08263bf926186d89617e223964a0a2..655ebe4ab6393909fbd36dd9f6473f462b00821a 100644
|
| --- a/src/deoptimizer.h
|
| +++ b/src/deoptimizer.h
|
| @@ -135,6 +135,8 @@ class Deoptimizer : public Malloced {
|
|
|
| int output_count() const { return output_count_; }
|
|
|
| + Code::Kind optimized_code_kind() const { return optimized_code_->kind(); }
|
| +
|
| // Number of created JS frames. Not all created frames are necessarily JS.
|
| int jsframe_count() const { return jsframe_count_; }
|
|
|
| @@ -297,6 +299,9 @@ class Deoptimizer : public Malloced {
|
|
|
| static size_t GetMaxDeoptTableSize();
|
|
|
| + static void EnsureCodeForDeoptimizationEntry(BailoutType type,
|
| + int max_entry_id);
|
| +
|
| private:
|
| static const int kMinNumberOfEntries = 64;
|
| static const int kMaxNumberOfEntries = 16384;
|
| @@ -320,6 +325,8 @@ class Deoptimizer : public Malloced {
|
| void DoComputeAccessorStubFrame(TranslationIterator* iterator,
|
| int frame_index,
|
| bool is_setter_stub_frame);
|
| + void DoCompiledStubPseudoFrame(TranslationIterator* iterator,
|
| + int frame_index);
|
| void DoTranslateCommand(TranslationIterator* iterator,
|
| int frame_index,
|
| unsigned output_offset);
|
| @@ -342,8 +349,6 @@ class Deoptimizer : public Malloced {
|
| void AddArgumentsObjectValue(intptr_t value);
|
| void AddDoubleValue(intptr_t slot_address, double value);
|
|
|
| - static void EnsureCodeForDeoptimizationEntry(BailoutType type,
|
| - int max_entry_id);
|
| static void GenerateDeoptimizationEntries(
|
| MacroAssembler* masm, int count, BailoutType type);
|
|
|
| @@ -530,7 +535,7 @@ class FrameDescription {
|
| uintptr_t frame_size_; // Number of bytes.
|
| JSFunction* function_;
|
| intptr_t registers_[Register::kNumRegisters];
|
| - double double_registers_[DoubleRegister::kNumAllocatableRegisters];
|
| + double double_registers_[DoubleRegister::kMaxNumAllocatableRegisters];
|
| intptr_t top_;
|
| intptr_t pc_;
|
| intptr_t fp_;
|
| @@ -603,6 +608,7 @@ class Translation BASE_EMBEDDED {
|
| GETTER_STUB_FRAME,
|
| SETTER_STUB_FRAME,
|
| ARGUMENTS_ADAPTOR_FRAME,
|
| + COMPILED_STUB_PSEUDO_FRAME,
|
| REGISTER,
|
| INT32_REGISTER,
|
| UINT32_REGISTER,
|
| @@ -633,6 +639,7 @@ class Translation BASE_EMBEDDED {
|
|
|
| // Commands.
|
| void BeginJSFrame(BailoutId node_id, int literal_id, unsigned height);
|
| + void BeginCompiledStubPseudoFrame(Code::Kind stub_kind);
|
| void BeginArgumentsAdaptorFrame(int literal_id, unsigned height);
|
| void BeginConstructStubFrame(int literal_id, unsigned height);
|
| void BeginGetterStubFrame(int literal_id);
|
|
|