diff options
Diffstat (limited to 'deps/v8/src/deoptimizer.h')
-rw-r--r-- | deps/v8/src/deoptimizer.h | 34 |
1 files changed, 11 insertions, 23 deletions
diff --git a/deps/v8/src/deoptimizer.h b/deps/v8/src/deoptimizer.h index 471a05d9b0..fd65e83dd2 100644 --- a/deps/v8/src/deoptimizer.h +++ b/deps/v8/src/deoptimizer.h @@ -132,7 +132,6 @@ class OptimizedFunctionVisitor BASE_EMBEDDED { V(kNotAHeapNumberUndefined, "not a heap number/undefined") \ V(kNotAJavaScriptObject, "not a JavaScript object") \ V(kNotASmi, "not a Smi") \ - V(kNotHeapNumber, "not heap number") \ V(kNull, "null") \ V(kOutOfBounds, "out of bounds") \ V(kOutsideOfRange, "Outside of range") \ @@ -184,15 +183,16 @@ class Deoptimizer : public Malloced { static const char* GetDeoptReason(DeoptReason deopt_reason); struct DeoptInfo { - DeoptInfo(int r, const char* m, DeoptReason d) - : raw_position(r), mnemonic(m), deopt_reason(d) {} + DeoptInfo(SourcePosition position, const char* m, DeoptReason d) + : position(position), mnemonic(m), deopt_reason(d), inlining_id(0) {} - int raw_position; + SourcePosition position; const char* mnemonic; DeoptReason deopt_reason; + int inlining_id; }; - static DeoptInfo GetDeoptInfo(Code* code, int bailout_id); + static DeoptInfo GetDeoptInfo(Code* code, byte* from); struct JumpTableEntry : public ZoneObject { inline JumpTableEntry(Address entry, const DeoptInfo& deopt_info, @@ -322,11 +322,10 @@ class Deoptimizer : public Malloced { static const int kNotDeoptimizationEntry = -1; // Generators for the deoptimization entry code. - class EntryGenerator BASE_EMBEDDED { + class TableEntryGenerator BASE_EMBEDDED { public: - EntryGenerator(MacroAssembler* masm, BailoutType type) - : masm_(masm), type_(type) { } - virtual ~EntryGenerator() { } + TableEntryGenerator(MacroAssembler* masm, BailoutType type, int count) + : masm_(masm), type_(type), count_(count) {} void Generate(); @@ -335,24 +334,13 @@ class Deoptimizer : public Malloced { BailoutType type() const { return type_; } Isolate* isolate() const { return masm_->isolate(); } - virtual void GeneratePrologue() { } - - private: - MacroAssembler* masm_; - Deoptimizer::BailoutType type_; - }; - - class TableEntryGenerator : public EntryGenerator { - public: - TableEntryGenerator(MacroAssembler* masm, BailoutType type, int count) - : EntryGenerator(masm, type), count_(count) { } - - protected: - virtual void GeneratePrologue(); + void GeneratePrologue(); private: int count() const { return count_; } + MacroAssembler* masm_; + Deoptimizer::BailoutType type_; int count_; }; |