| Index: src/ia32/lithium-ia32.h
|
| ===================================================================
|
| --- src/ia32/lithium-ia32.h (revision 11356)
|
| +++ src/ia32/lithium-ia32.h (working copy)
|
| @@ -199,8 +199,7 @@
|
| LInstruction()
|
| : environment_(NULL),
|
| hydrogen_value_(NULL),
|
| - is_call_(false),
|
| - is_save_doubles_(false) { }
|
| + is_call_(false) { }
|
| virtual ~LInstruction() { }
|
|
|
| virtual void CompileToNative(LCodeGen* generator) = 0;
|
| @@ -243,22 +242,12 @@
|
| void set_hydrogen_value(HValue* value) { hydrogen_value_ = value; }
|
| HValue* hydrogen_value() const { return hydrogen_value_; }
|
|
|
| - void set_deoptimization_environment(LEnvironment* env) {
|
| - deoptimization_environment_.set(env);
|
| - }
|
| - LEnvironment* deoptimization_environment() const {
|
| - return deoptimization_environment_.get();
|
| - }
|
| - bool HasDeoptimizationEnvironment() const {
|
| - return deoptimization_environment_.is_set();
|
| - }
|
| + virtual void SetDeferredLazyDeoptimizationEnvironment(LEnvironment* env) { }
|
|
|
| void MarkAsCall() { is_call_ = true; }
|
| - void MarkAsSaveDoubles() { is_save_doubles_ = true; }
|
|
|
| // Interface to the register allocator and iterators.
|
| bool IsMarkedAsCall() const { return is_call_; }
|
| - bool IsMarkedAsSaveDoubles() const { return is_save_doubles_; }
|
|
|
| virtual bool HasResult() const = 0;
|
| virtual LOperand* result() = 0;
|
| @@ -279,9 +268,7 @@
|
| LEnvironment* environment_;
|
| SetOncePointer<LPointerMap> pointer_map_;
|
| HValue* hydrogen_value_;
|
| - SetOncePointer<LEnvironment> deoptimization_environment_;
|
| bool is_call_;
|
| - bool is_save_doubles_;
|
| };
|
|
|
|
|
| @@ -844,6 +831,15 @@
|
| DECLARE_HYDROGEN_ACCESSOR(InstanceOfKnownGlobal)
|
|
|
| Handle<JSFunction> function() const { return hydrogen()->function(); }
|
| + LEnvironment* GetDeferredLazyDeoptimizationEnvironment() {
|
| + return lazy_deopt_env_;
|
| + }
|
| + virtual void SetDeferredLazyDeoptimizationEnvironment(LEnvironment* env) {
|
| + lazy_deopt_env_ = env;
|
| + }
|
| +
|
| + private:
|
| + LEnvironment* lazy_deopt_env_;
|
| };
|
|
|
|
|
| @@ -2486,12 +2482,7 @@
|
| LInstruction* instr,
|
| HInstruction* hinstr,
|
| CanDeoptimize can_deoptimize = CANNOT_DEOPTIMIZE_EAGERLY);
|
| - LInstruction* MarkAsSaveDoubles(LInstruction* instr);
|
|
|
| - LInstruction* SetInstructionPendingDeoptimizationEnvironment(
|
| - LInstruction* instr, int ast_id);
|
| - void ClearInstructionPendingDeoptimizationEnvironment();
|
| -
|
| LEnvironment* CreateEnvironment(HEnvironment* hydrogen_env,
|
| int* argument_index_accumulator);
|
|
|
|
|