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

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

Issue 2903993002: Remember deopt-id -> context-level mappings in var descriptors. (Closed)
Patch Set: update descriptor tests 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
« no previous file with comments | « runtime/vm/flow_graph_compiler_x64.cc ('k') | runtime/vm/intermediate_language.h » ('j') | no next file with comments »
Toggle Intra-line Diffs ('i') | Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
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 782 matching lines...) Expand 10 before | Expand all | Expand 10 after
793 793
794 // Build the callee graph. 794 // Build the callee graph.
795 InlineExitCollector* exit_collector = 795 InlineExitCollector* exit_collector =
796 new (Z) InlineExitCollector(caller_graph_, call); 796 new (Z) InlineExitCollector(caller_graph_, call);
797 FlowGraph* callee_graph; 797 FlowGraph* callee_graph;
798 if (UseKernelFrontEndFor(parsed_function)) { 798 if (UseKernelFrontEndFor(parsed_function)) {
799 kernel::TreeNode* node = static_cast<kernel::TreeNode*>( 799 kernel::TreeNode* node = static_cast<kernel::TreeNode*>(
800 parsed_function->function().kernel_function()); 800 parsed_function->function().kernel_function());
801 801
802 kernel::FlowGraphBuilder builder( 802 kernel::FlowGraphBuilder builder(
803 node, parsed_function, *ic_data_array, exit_collector, 803 node, parsed_function, *ic_data_array,
804 /* not building var desc */ NULL, exit_collector,
804 Compiler::kNoOSRDeoptId, caller_graph_->max_block_id() + 1); 805 Compiler::kNoOSRDeoptId, caller_graph_->max_block_id() + 1);
805 { 806 {
806 CSTAT_TIMER_SCOPE(thread(), graphinliner_build_timer); 807 CSTAT_TIMER_SCOPE(thread(), graphinliner_build_timer);
807 callee_graph = builder.BuildGraph(); 808 callee_graph = builder.BuildGraph();
808 } 809 }
809 } else { 810 } else {
810 FlowGraphBuilder builder(*parsed_function, *ic_data_array, 811 FlowGraphBuilder builder(*parsed_function, *ic_data_array,
812 /* not building var desc */ NULL,
811 exit_collector, Compiler::kNoOSRDeoptId); 813 exit_collector, Compiler::kNoOSRDeoptId);
812 builder.SetInitialBlockId(caller_graph_->max_block_id()); 814 builder.SetInitialBlockId(caller_graph_->max_block_id());
813 { 815 {
814 CSTAT_TIMER_SCOPE(thread(), graphinliner_build_timer); 816 CSTAT_TIMER_SCOPE(thread(), graphinliner_build_timer);
815 callee_graph = builder.BuildGraph(); 817 callee_graph = builder.BuildGraph();
816 } 818 }
817 } 819 }
818 #ifdef DART_PRECOMPILER 820 #ifdef DART_PRECOMPILER
819 if (FLAG_precompiled_mode) { 821 if (FLAG_precompiled_mode) {
820 Precompiler::PopulateWithICData(parsed_function->function(), 822 Precompiler::PopulateWithICData(parsed_function->function(),
(...skipping 2947 matching lines...) Expand 10 before | Expand all | Expand 10 after
3768 } 3770 }
3769 3771
3770 default: 3772 default:
3771 return false; 3773 return false;
3772 } 3774 }
3773 } 3775 }
3774 3776
3775 3777
3776 } // namespace dart 3778 } // namespace dart
3777 #endif // !defined(DART_PRECOMPILED_RUNTIME) 3779 #endif // !defined(DART_PRECOMPILED_RUNTIME)
OLDNEW
« no previous file with comments | « runtime/vm/flow_graph_compiler_x64.cc ('k') | runtime/vm/intermediate_language.h » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698