Chromium Code Reviews| Index: runtime/vm/compiler.cc |
| diff --git a/runtime/vm/compiler.cc b/runtime/vm/compiler.cc |
| index 0a452b337b1a412b47d1b82ca76ea63fc7d60420..1c8a839467f819f74c2a766171f840aa33ded556 100644 |
| --- a/runtime/vm/compiler.cc |
| +++ b/runtime/vm/compiler.cc |
| @@ -835,7 +835,12 @@ bool CompileParsedFunctionHelper::Compile(CompilationPipeline* pipeline) { |
| JitOptimizer optimizer(flow_graph); |
| - optimizer.ApplyICData(); |
| + { |
| + NOT_IN_PRODUCT(TimelineDurationScope tds(thread(), compiler_timeline, |
| + "ApplyICData")); |
| + optimizer.ApplyICData(); |
| + SafepointOperationScope safepoint_scope(thread()); |
|
Vyacheslav Egorov (Google)
2017/03/23 10:24:02
Here and below:
I think you need
thread()->Chec
erikcorry
2017/03/27 10:23:28
Done.
|
| + } |
| DEBUG_ASSERT(flow_graph->VerifyUseLists()); |
| // Optimize (a << b) & c patterns, merge operations. |
| @@ -866,6 +871,7 @@ bool CompileParsedFunctionHelper::Compile(CompilationPipeline* pipeline) { |
| inliner.Inline(); |
| // Use lists are maintained and validated by the inliner. |
| DEBUG_ASSERT(flow_graph->VerifyUseLists()); |
| + SafepointOperationScope safepoint_scope(thread()); |
| } |
| // Propagate types and eliminate more type tests. |
| @@ -978,6 +984,7 @@ bool CompileParsedFunctionHelper::Compile(CompilationPipeline* pipeline) { |
| DEBUG_ASSERT(flow_graph->VerifyUseLists()); |
| } |
| flow_graph->RemoveRedefinitions(); |
| + SafepointOperationScope safepoint_scope(thread()); |
| } |
| // Optimize (a << b) & c patterns, merge operations. |
| @@ -1057,6 +1064,7 @@ bool CompileParsedFunctionHelper::Compile(CompilationPipeline* pipeline) { |
| // TODO(fschneider): Support allocation sinking with try-catch. |
| sinking = new AllocationSinking(flow_graph); |
| sinking->Optimize(); |
| + SafepointOperationScope safepoint_scope(thread()); |
| } |
| DEBUG_ASSERT(flow_graph->VerifyUseLists()); |
| @@ -1106,6 +1114,7 @@ bool CompileParsedFunctionHelper::Compile(CompilationPipeline* pipeline) { |
| // Perform register allocation on the SSA graph. |
| FlowGraphAllocator allocator(*flow_graph); |
| allocator.AllocateRegisters(); |
| + SafepointOperationScope safepoint_scope(thread()); |
| } |
| if (reorder_blocks) { |