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 #if !defined(DART_PRECOMPILED_RUNTIME) | 4 #if !defined(DART_PRECOMPILED_RUNTIME) |
5 #include "vm/flow_graph_inliner.h" | 5 #include "vm/flow_graph_inliner.h" |
6 | 6 |
7 #include "vm/aot_optimizer.h" | 7 #include "vm/aot_optimizer.h" |
8 #include "vm/precompiler.h" | 8 #include "vm/precompiler.h" |
9 #include "vm/block_scheduler.h" | 9 #include "vm/block_scheduler.h" |
10 #include "vm/branch_optimizer.h" | 10 #include "vm/branch_optimizer.h" |
(...skipping 784 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
795 return false; | 795 return false; |
796 } | 796 } |
797 } | 797 } |
798 | 798 |
799 | 799 |
800 // Build the callee graph. | 800 // Build the callee graph. |
801 InlineExitCollector* exit_collector = | 801 InlineExitCollector* exit_collector = |
802 new (Z) InlineExitCollector(caller_graph_, call); | 802 new (Z) InlineExitCollector(caller_graph_, call); |
803 FlowGraph* callee_graph; | 803 FlowGraph* callee_graph; |
804 if (UseKernelFrontEndFor(parsed_function)) { | 804 if (UseKernelFrontEndFor(parsed_function)) { |
805 kernel::TreeNode* node = static_cast<kernel::TreeNode*>( | |
806 parsed_function->function().kernel_function()); | |
807 | |
808 kernel::FlowGraphBuilder builder( | 805 kernel::FlowGraphBuilder builder( |
809 node, parsed_function, *ic_data_array, exit_collector, | 806 parsed_function->function().kernel_offset(), parsed_function, |
810 Compiler::kNoOSRDeoptId, caller_graph_->max_block_id() + 1); | 807 *ic_data_array, exit_collector, Compiler::kNoOSRDeoptId, |
| 808 caller_graph_->max_block_id() + 1); |
811 { | 809 { |
812 CSTAT_TIMER_SCOPE(thread(), graphinliner_build_timer); | 810 CSTAT_TIMER_SCOPE(thread(), graphinliner_build_timer); |
813 callee_graph = builder.BuildGraph(); | 811 callee_graph = builder.BuildGraph(); |
814 } | 812 } |
815 } else { | 813 } else { |
816 FlowGraphBuilder builder(*parsed_function, *ic_data_array, | 814 FlowGraphBuilder builder(*parsed_function, *ic_data_array, |
817 exit_collector, Compiler::kNoOSRDeoptId); | 815 exit_collector, Compiler::kNoOSRDeoptId); |
818 builder.SetInitialBlockId(caller_graph_->max_block_id()); | 816 builder.SetInitialBlockId(caller_graph_->max_block_id()); |
819 { | 817 { |
820 CSTAT_TIMER_SCOPE(thread(), graphinliner_build_timer); | 818 CSTAT_TIMER_SCOPE(thread(), graphinliner_build_timer); |
(...skipping 2962 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
3783 } | 3781 } |
3784 | 3782 |
3785 default: | 3783 default: |
3786 return false; | 3784 return false; |
3787 } | 3785 } |
3788 } | 3786 } |
3789 | 3787 |
3790 | 3788 |
3791 } // namespace dart | 3789 } // namespace dart |
3792 #endif // !defined(DART_PRECOMPILED_RUNTIME) | 3790 #endif // !defined(DART_PRECOMPILED_RUNTIME) |
OLD | NEW |