Index: runtime/vm/flow_graph_compiler.cc |
=================================================================== |
--- runtime/vm/flow_graph_compiler.cc (revision 35546) |
+++ runtime/vm/flow_graph_compiler.cc (working copy) |
@@ -472,12 +472,17 @@ |
void FlowGraphCompiler::AddDeoptIndexAtCall(intptr_t deopt_id, |
- intptr_t token_pos) { |
+ intptr_t token_pos, |
+ intptr_t input_count) { |
ASSERT(is_optimizing()); |
+ Environment* env = pending_deoptimization_env_; |
+ if (input_count > 0) { |
+ env = env->DeepCopy(env->Length() - input_count); |
+ } |
CompilerDeoptInfo* info = |
new CompilerDeoptInfo(deopt_id, |
ICData::kDeoptAtCall, |
- pending_deoptimization_env_); |
+ env); |
info->set_pc_offset(assembler()->CodeSize()); |
deopt_infos_.Add(info); |
} |