Chromium Code Reviews| Index: runtime/vm/flow_graph_compiler.cc |
| =================================================================== |
| --- runtime/vm/flow_graph_compiler.cc (revision 45548) |
| +++ runtime/vm/flow_graph_compiler.cc (working copy) |
| @@ -30,7 +30,9 @@ |
| DEFINE_FLAG(bool, always_megamorphic_calls, false, |
| "Instance call always as megamorphic."); |
| DEFINE_FLAG(bool, trace_inlining_intervals, false, |
| - "Inlining interval diagnostics"); |
| + "Inlining interval diagnostics");; |
|
hausner
2015/05/06 16:39:55
Two is better than one?
srdjan
2015/05/06 20:00:47
:-) removed.
|
| +DEFINE_FLAG(bool, eager_info_computation, false, |
| + "Eagerly compute various informations (local var descriptors)."); |
| DEFINE_FLAG(bool, enable_simd_inline, true, |
| "Enable inlining of SIMD related method calls."); |
| DEFINE_FLAG(int, min_optimization_counter_threshold, 5000, |
| @@ -924,6 +926,7 @@ |
| } |
| LocalVarDescriptors& var_descs = LocalVarDescriptors::Handle(); |
| if (parsed_function().node_sequence() == NULL) { |
| + // TODO(srdjan): Implement lazy local var descriptors if Irregexp functions. |
| ASSERT(flow_graph().IsIrregexpFunction()); |
| var_descs = LocalVarDescriptors::New(1); |
| RawLocalVarDescriptors::VarInfo info; |
| @@ -934,9 +937,11 @@ |
| info.set_index(parsed_function().current_context_var()->index()); |
| var_descs.SetVar(0, Symbols::CurrentContextVar(), &info); |
| } else { |
| - var_descs = |
| - parsed_function_.node_sequence()->scope()->GetVarDescriptors( |
| - parsed_function_.function()); |
| + if (FLAG_eager_info_computation) { |
| + var_descs = |
| + parsed_function_.node_sequence()->scope()->GetVarDescriptors( |
| + parsed_function_.function()); |
| + } |
| } |
| code.set_var_descriptors(var_descs); |
| } |