OLD | NEW |
1 // Copyright (c) 2013, the Dart project authors. Please see the AUTHORS file | 1 // Copyright (c) 2013, the Dart project authors. Please see the AUTHORS file |
2 // for details. All rights reserved. Use of this source code is governed by a | 2 // for details. All rights reserved. Use of this source code is governed by a |
3 // BSD-style license that can be found in the LICENSE file. | 3 // BSD-style license that can be found in the LICENSE file. |
4 | 4 |
5 #include "vm/flow_graph_inliner.h" | 5 #include "vm/flow_graph_inliner.h" |
6 | 6 |
7 #include "vm/block_scheduler.h" | 7 #include "vm/block_scheduler.h" |
8 #include "vm/compiler.h" | 8 #include "vm/compiler.h" |
9 #include "vm/flags.h" | 9 #include "vm/flags.h" |
10 #include "vm/flow_graph.h" | 10 #include "vm/flow_graph.h" |
(...skipping 253 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
264 continue; | 264 continue; |
265 } | 265 } |
266 // Collect all call sites (!only_recognized_methods). | 266 // Collect all call sites (!only_recognized_methods). |
267 ClosureCallInstr* closure_call = current->AsClosureCall(); | 267 ClosureCallInstr* closure_call = current->AsClosureCall(); |
268 if (closure_call != NULL) { | 268 if (closure_call != NULL) { |
269 closure_calls_.Add(closure_call); | 269 closure_calls_.Add(closure_call); |
270 continue; | 270 continue; |
271 } | 271 } |
272 StaticCallInstr* static_call = current->AsStaticCall(); | 272 StaticCallInstr* static_call = current->AsStaticCall(); |
273 if (static_call != NULL) { | 273 if (static_call != NULL) { |
274 if (static_call->function().IsInlineable()) { | 274 static_calls_.Add(StaticCallInfo(static_call)); |
275 static_calls_.Add(StaticCallInfo(static_call)); | |
276 } | |
277 continue; | 275 continue; |
278 } | 276 } |
279 PolymorphicInstanceCallInstr* instance_call = | 277 PolymorphicInstanceCallInstr* instance_call = |
280 current->AsPolymorphicInstanceCall(); | 278 current->AsPolymorphicInstanceCall(); |
281 if (instance_call != NULL) { | 279 if (instance_call != NULL) { |
282 instance_calls_.Add(InstanceCallInfo(instance_call)); | 280 instance_calls_.Add(InstanceCallInfo(instance_call)); |
283 continue; | 281 continue; |
284 } | 282 } |
285 } | 283 } |
286 } | 284 } |
(...skipping 1192 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
1479 OS::Print("After Inlining of %s\n", flow_graph_-> | 1477 OS::Print("After Inlining of %s\n", flow_graph_-> |
1480 parsed_function().function().ToFullyQualifiedCString()); | 1478 parsed_function().function().ToFullyQualifiedCString()); |
1481 FlowGraphPrinter printer(*flow_graph_); | 1479 FlowGraphPrinter printer(*flow_graph_); |
1482 printer.PrintBlocks(); | 1480 printer.PrintBlocks(); |
1483 } | 1481 } |
1484 } | 1482 } |
1485 } | 1483 } |
1486 } | 1484 } |
1487 | 1485 |
1488 } // namespace dart | 1486 } // namespace dart |
OLD | NEW |