Index: src/arm/lithium-arm.cc |
=================================================================== |
--- src/arm/lithium-arm.cc (revision 6441) |
+++ src/arm/lithium-arm.cc (working copy) |
@@ -653,22 +653,6 @@ |
} |
-LInstruction* LChunkBuilder::SetInstructionPendingDeoptimizationEnvironment( |
- LInstruction* instr, int ast_id) { |
- ASSERT(instructions_pending_deoptimization_environment_ == NULL); |
- ASSERT(pending_deoptimization_ast_id_ == AstNode::kNoNumber); |
- instructions_pending_deoptimization_environment_ = instr; |
- pending_deoptimization_ast_id_ = ast_id; |
- return instr; |
-} |
- |
- |
-void LChunkBuilder::ClearInstructionPendingDeoptimizationEnvironment() { |
- instructions_pending_deoptimization_environment_ = NULL; |
- pending_deoptimization_ast_id_ = AstNode::kNoNumber; |
-} |
- |
- |
LInstruction* LChunkBuilder::MarkAsCall(LInstruction* instr, |
HInstruction* hinstr, |
CanDeoptimize can_deoptimize) { |
@@ -678,8 +662,8 @@ |
if (hinstr->HasSideEffects()) { |
ASSERT(hinstr->next()->IsSimulate()); |
HSimulate* sim = HSimulate::cast(hinstr->next()); |
- instr = SetInstructionPendingDeoptimizationEnvironment( |
- instr, sim->ast_id()); |
+ ASSERT(pending_deoptimization_ast_id_ == AstNode::kNoNumber); |
+ pending_deoptimization_ast_id_ = sim->ast_id(); |
} |
// If instruction does not have side-effects lazy deoptimization |
@@ -1826,12 +1810,11 @@ |
// If there is an instruction pending deoptimization environment create a |
// lazy bailout instruction to capture the environment. |
- if (pending_deoptimization_ast_id_ == instr->ast_id()) { |
- LInstruction* result = new LLazyBailout; |
- result = AssignEnvironment(result); |
- instructions_pending_deoptimization_environment_-> |
- set_deoptimization_environment(result->environment()); |
- ClearInstructionPendingDeoptimizationEnvironment(); |
+ if (pending_deoptimization_ast_id_ != AstNode::kNoNumber) { |
+ ASSERT(pending_deoptimization_ast_id_ == instr->ast_id()); |
+ LInstruction* lazy_bailout = new LLazyBailout; |
+ LInstruction* result = AssignEnvironment(lazy_bailout); |
+ pending_deoptimization_ast_id_ = AstNode::kNoNumber; |
return result; |
} |