| 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/class_finalizer.h" | 10 #include "vm/class_finalizer.h" |
| (...skipping 16 matching lines...) Expand all Loading... |
| 27 #include "vm/symbols.h" | 27 #include "vm/symbols.h" |
| 28 #include "vm/token.h" | 28 #include "vm/token.h" |
| 29 #include "vm/zone.h" | 29 #include "vm/zone.h" |
| 30 | 30 |
| 31 namespace dart { | 31 namespace dart { |
| 32 | 32 |
| 33 DEFINE_FLAG(bool, eliminate_type_checks, true, | 33 DEFINE_FLAG(bool, eliminate_type_checks, true, |
| 34 "Eliminate type checks when allowed by static type analysis."); | 34 "Eliminate type checks when allowed by static type analysis."); |
| 35 DEFINE_FLAG(bool, print_ast, false, "Print abstract syntax tree."); | 35 DEFINE_FLAG(bool, print_ast, false, "Print abstract syntax tree."); |
| 36 DEFINE_FLAG(bool, print_scopes, false, "Print scopes of local variables."); | 36 DEFINE_FLAG(bool, print_scopes, false, "Print scopes of local variables."); |
| 37 DEFINE_FLAG(bool, print_flow_graph, false, "Print the IR flow graph."); | |
| 38 DEFINE_FLAG(bool, print_flow_graph_optimized, false, | |
| 39 "Print the IR flow graph when optimizing."); | |
| 40 DEFINE_FLAG(bool, trace_type_check_elimination, false, | 37 DEFINE_FLAG(bool, trace_type_check_elimination, false, |
| 41 "Trace type check elimination at compile time."); | 38 "Trace type check elimination at compile time."); |
| 42 DECLARE_FLAG(bool, enable_type_checks); | 39 DECLARE_FLAG(bool, enable_type_checks); |
| 43 | 40 |
| 44 | 41 |
| 45 // Base class for a stack of enclosing statements of interest (e.g., | 42 // Base class for a stack of enclosing statements of interest (e.g., |
| 46 // blocks (breakable) and loops (continuable)). | 43 // blocks (breakable) and loops (continuable)). |
| 47 class NestedStatement : public ValueObject { | 44 class NestedStatement : public ValueObject { |
| 48 public: | 45 public: |
| 49 FlowGraphBuilder* owner() const { return owner_; } | 46 FlowGraphBuilder* owner() const { return owner_; } |
| (...skipping 4002 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 4052 LanguageError::kError, | 4049 LanguageError::kError, |
| 4053 Heap::kNew, | 4050 Heap::kNew, |
| 4054 "FlowGraphBuilder Bailout: %s %s", | 4051 "FlowGraphBuilder Bailout: %s %s", |
| 4055 String::Handle(function.name()).ToCString(), | 4052 String::Handle(function.name()).ToCString(), |
| 4056 reason)); | 4053 reason)); |
| 4057 Isolate::Current()->long_jump_base()->Jump(1, error); | 4054 Isolate::Current()->long_jump_base()->Jump(1, error); |
| 4058 } | 4055 } |
| 4059 | 4056 |
| 4060 | 4057 |
| 4061 } // namespace dart | 4058 } // namespace dart |
| OLD | NEW |