Index: runtime/vm/flow_graph_inliner.cc |
=================================================================== |
--- runtime/vm/flow_graph_inliner.cc (revision 23072) |
+++ runtime/vm/flow_graph_inliner.cc (working copy) |
@@ -612,6 +612,14 @@ |
// Add the function to the cache. |
if (!in_cache) function_cache_.Add(parsed_function); |
+ // Functions can be inlined before they are optimized. |
+ // If not yet present, allocate deoptimization history array. |
+ Array& deopt_history = Array::Handle(function.deopt_history()); |
+ if (deopt_history.IsNull()) { |
+ deopt_history = Array::New(FLAG_deoptimization_counter_threshold); |
+ function.set_deopt_history(deopt_history); |
srdjan
2013/05/28 10:48:49
This code is used repeatedly. How about factoring
Florian Schneider
2013/05/29 08:50:20
Good idea.
|
+ } |
+ |
// Build succeeded so we restore the bailout jump. |
inlined_ = true; |
inlined_size_ += size; |