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

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

Issue 513213002: Generate some intrinsics using our IR. (Closed) Base URL: http://dart.googlecode.com/svn/branches/bleeding_edge/dart/
Patch Set: addressed comments Created 6 years, 3 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 | Annotate | Revision Log
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 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 631 matching lines...) Expand 10 before | Expand all | Expand 10 after
642 ZoneGrowableArray<const ICData*>* ic_data_array = 642 ZoneGrowableArray<const ICData*>* ic_data_array =
643 new(isolate()) ZoneGrowableArray<const ICData*>(); 643 new(isolate()) ZoneGrowableArray<const ICData*>();
644 function.RestoreICDataMap(ic_data_array); 644 function.RestoreICDataMap(ic_data_array);
645 645
646 // Build the callee graph. 646 // Build the callee graph.
647 InlineExitCollector* exit_collector = 647 InlineExitCollector* exit_collector =
648 new(isolate()) InlineExitCollector(caller_graph_, call); 648 new(isolate()) InlineExitCollector(caller_graph_, call);
649 FlowGraphBuilder builder(parsed_function, 649 FlowGraphBuilder builder(parsed_function,
650 *ic_data_array, 650 *ic_data_array,
651 exit_collector, 651 exit_collector,
652 Isolate::kNoDeoptId, 652 Isolate::kNoDeoptId);
653 true);
654 builder.SetInitialBlockId(caller_graph_->max_block_id()); 653 builder.SetInitialBlockId(caller_graph_->max_block_id());
655 FlowGraph* callee_graph; 654 FlowGraph* callee_graph;
656 { 655 {
657 TimerScope timer(FLAG_compiler_stats, 656 TimerScope timer(FLAG_compiler_stats,
658 &CompilerStats::graphinliner_build_timer, 657 &CompilerStats::graphinliner_build_timer,
659 isolate()); 658 isolate());
660 callee_graph = builder.BuildGraph(); 659 callee_graph = builder.BuildGraph();
661 } 660 }
662 661
663 // The parameter stubs are a copy of the actual arguments providing 662 // The parameter stubs are a copy of the actual arguments providing
(...skipping 1040 matching lines...) Expand 10 before | Expand all | Expand 10 after
1704 OS::Print("After Inlining of %s\n", flow_graph_-> 1703 OS::Print("After Inlining of %s\n", flow_graph_->
1705 parsed_function().function().ToFullyQualifiedCString()); 1704 parsed_function().function().ToFullyQualifiedCString());
1706 FlowGraphPrinter printer(*flow_graph_); 1705 FlowGraphPrinter printer(*flow_graph_);
1707 printer.PrintBlocks(); 1706 printer.PrintBlocks();
1708 } 1707 }
1709 } 1708 }
1710 } 1709 }
1711 } 1710 }
1712 1711
1713 } // namespace dart 1712 } // namespace dart
OLDNEW

Powered by Google App Engine
This is Rietveld 408576698