OLD | NEW |
1 // Copyright (c) 2012, the Dart project authors. Please see the AUTHORS file | 1 // Copyright (c) 2012, 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_builder.h" | 5 #include "vm/flow_graph_builder.h" |
6 | 6 |
7 #include "lib/invocation_mirror.h" | 7 #include "lib/invocation_mirror.h" |
8 #include "vm/ast_printer.h" | 8 #include "vm/ast_printer.h" |
9 #include "vm/bit_vector.h" | 9 #include "vm/bit_vector.h" |
10 #include "vm/compiler.h" | 10 #include "vm/compiler.h" |
(...skipping 4604 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
4615 | 4615 |
4616 void EffectGraphVisitor::VisitStopNode(StopNode* node) { | 4616 void EffectGraphVisitor::VisitStopNode(StopNode* node) { |
4617 AddInstruction(new(Z) StopInstr(node->message())); | 4617 AddInstruction(new(Z) StopInstr(node->message())); |
4618 } | 4618 } |
4619 | 4619 |
4620 | 4620 |
4621 FlowGraph* FlowGraphBuilder::BuildGraph() { | 4621 FlowGraph* FlowGraphBuilder::BuildGraph() { |
4622 VMTagScope tagScope(Thread::Current(), | 4622 VMTagScope tagScope(Thread::Current(), |
4623 VMTag::kCompileFlowGraphBuilderTagId, | 4623 VMTag::kCompileFlowGraphBuilderTagId, |
4624 FLAG_profile_vm); | 4624 FLAG_profile_vm); |
4625 if (FLAG_print_ast) { | 4625 if (FLAG_support_ast_printer && FLAG_print_ast) { |
4626 // Print the function ast before IL generation. | 4626 // Print the function ast before IL generation. |
4627 AstPrinter::PrintFunctionNodes(parsed_function()); | 4627 AstPrinter::PrintFunctionNodes(parsed_function()); |
4628 } | 4628 } |
4629 if (FLAG_print_scopes) { | 4629 if (FLAG_support_ast_printer && FLAG_print_scopes) { |
4630 AstPrinter::PrintFunctionScope(parsed_function()); | 4630 AstPrinter::PrintFunctionScope(parsed_function()); |
4631 } | 4631 } |
4632 TargetEntryInstr* normal_entry = | 4632 TargetEntryInstr* normal_entry = |
4633 new(Z) TargetEntryInstr(AllocateBlockId(), | 4633 new(Z) TargetEntryInstr(AllocateBlockId(), |
4634 CatchClauseNode::kInvalidTryIndex); | 4634 CatchClauseNode::kInvalidTryIndex); |
4635 graph_entry_ = | 4635 graph_entry_ = |
4636 new(Z) GraphEntryInstr(parsed_function(), normal_entry, osr_id_); | 4636 new(Z) GraphEntryInstr(parsed_function(), normal_entry, osr_id_); |
4637 EffectGraphVisitor for_effect(this); | 4637 EffectGraphVisitor for_effect(this); |
4638 parsed_function().node_sequence()->Visit(&for_effect); | 4638 parsed_function().node_sequence()->Visit(&for_effect); |
4639 AppendFragment(normal_entry, for_effect); | 4639 AppendFragment(normal_entry, for_effect); |
(...skipping 28 matching lines...) Expand all Loading... |
4668 Script::Handle(function.script()), | 4668 Script::Handle(function.script()), |
4669 function.token_pos(), | 4669 function.token_pos(), |
4670 Report::AtLocation, | 4670 Report::AtLocation, |
4671 "FlowGraphBuilder Bailout: %s %s", | 4671 "FlowGraphBuilder Bailout: %s %s", |
4672 String::Handle(function.name()).ToCString(), | 4672 String::Handle(function.name()).ToCString(), |
4673 reason); | 4673 reason); |
4674 UNREACHABLE(); | 4674 UNREACHABLE(); |
4675 } | 4675 } |
4676 | 4676 |
4677 } // namespace dart | 4677 } // namespace dart |
OLD | NEW |