Index: src/ia32/lithium-ia32.cc |
diff --git a/src/ia32/lithium-ia32.cc b/src/ia32/lithium-ia32.cc |
index 2fdbb9858bb435feb98d78826ca45388d9076cc7..6cb912ae7abff3f4da5877368602ba8657ea34a6 100644 |
--- a/src/ia32/lithium-ia32.cc |
+++ b/src/ia32/lithium-ia32.cc |
@@ -2616,19 +2616,7 @@ LInstruction* LChunkBuilder::DoIsConstructCallAndBranch( |
LInstruction* LChunkBuilder::DoSimulate(HSimulate* instr) { |
HEnvironment* env = current_block_->last_environment(); |
- ASSERT(env != NULL); |
- |
- env->set_ast_id(instr->ast_id()); |
- |
- env->Drop(instr->pop_count()); |
- for (int i = instr->values()->length() - 1; i >= 0; --i) { |
- HValue* value = instr->values()->at(i); |
- if (instr->HasAssignedIndexAt(i)) { |
- env->Bind(instr->GetAssignedIndexAt(i), value); |
- } else { |
- env->Push(value); |
- } |
- } |
+ instr->ReplayEnvironment(env); |
titzer
2013/08/26 16:49:44
Inline the local too...make it a one liner!
Michael Starzinger
2013/08/26 17:29:46
Done (also for the DoCapturedObject function).
|
// If there is an instruction pending deoptimization environment create a |
// lazy bailout instruction to capture the environment. |