Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(146)

Side by Side Diff: runtime/vm/flow_graph_inliner.cc

Issue 2901533002: [kernel] Stream everything. Replace .kernel_function with .kernel_offset (Closed)
Patch Set: Fixed assert issues; small refactorings. Created 3 years, 6 months ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View unified diff | Download patch
OLDNEW
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
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
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)
OLDNEW

Powered by Google App Engine
This is Rietveld 408576698