Index: src/arm/lithium-arm.h |
=================================================================== |
--- src/arm/lithium-arm.h (revision 11356) |
+++ src/arm/lithium-arm.h (working copy) |
@@ -204,8 +204,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; |
@@ -247,22 +246,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; |
@@ -283,9 +272,7 @@ |
LEnvironment* environment_; |
SetOncePointer<LPointerMap> pointer_map_; |
HValue* hydrogen_value_; |
- SetOncePointer<LEnvironment> deoptimization_environment_; |
bool is_call_; |
- bool is_save_doubles_; |
}; |
@@ -834,6 +821,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_; |
}; |
@@ -2384,12 +2380,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); |