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); |