Index: src/arm/lithium-arm.h |
=================================================================== |
--- src/arm/lithium-arm.h (revision 6473) |
+++ src/arm/lithium-arm.h (working copy) |
@@ -320,10 +320,21 @@ |
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(); |
+ } |
+ |
private: |
SetOncePointer<LEnvironment> environment_; |
SetOncePointer<LPointerMap> pointer_map_; |
HValue* hydrogen_value_; |
+ SetOncePointer<LEnvironment> deoptimization_environment_; |
}; |
@@ -1952,6 +1963,10 @@ |
CanDeoptimize can_deoptimize = CANNOT_DEOPTIMIZE_EAGERLY); |
LInstruction* MarkAsSaveDoubles(LInstruction* instr); |
+ LInstruction* SetInstructionPendingDeoptimizationEnvironment( |
+ LInstruction* instr, int ast_id); |
+ void ClearInstructionPendingDeoptimizationEnvironment(); |
+ |
LEnvironment* CreateEnvironment(HEnvironment* hydrogen_env); |
void VisitInstruction(HInstruction* current); |