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 91 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
102 ASSERT(owner_->nesting_stack_ == this); | 102 ASSERT(owner_->nesting_stack_ == this); |
103 owner_->nesting_stack_ = outer_; | 103 owner_->nesting_stack_ = outer_; |
104 } | 104 } |
105 | 105 |
106 private: | 106 private: |
107 FlowGraphBuilder* owner_; | 107 FlowGraphBuilder* owner_; |
108 const SourceLabel* label_; | 108 const SourceLabel* label_; |
109 NestedStatement* outer_; | 109 NestedStatement* outer_; |
110 | 110 |
111 JoinEntryInstr* break_target_; | 111 JoinEntryInstr* break_target_; |
112 intptr_t try_index_; | 112 const intptr_t try_index_; |
113 }; | 113 }; |
114 | 114 |
115 | 115 |
116 intptr_t NestedStatement::ContextLevel() const { | 116 intptr_t NestedStatement::ContextLevel() const { |
117 // Context level is determined by the innermost nested statement having one. | 117 // Context level is determined by the innermost nested statement having one. |
118 return (outer() == NULL) ? 0 : outer()->ContextLevel(); | 118 return (outer() == NULL) ? 0 : outer()->ContextLevel(); |
119 } | 119 } |
120 | 120 |
121 | 121 |
122 intptr_t FlowGraphBuilder::context_level() const { | 122 intptr_t FlowGraphBuilder::context_level() const { |
(...skipping 3875 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
3998 LanguageError::kBailout, | 3998 LanguageError::kBailout, |
3999 Heap::kNew, | 3999 Heap::kNew, |
4000 "FlowGraphBuilder Bailout: %s %s", | 4000 "FlowGraphBuilder Bailout: %s %s", |
4001 String::Handle(I, function.name()).ToCString(), | 4001 String::Handle(I, function.name()).ToCString(), |
4002 reason)); | 4002 reason)); |
4003 I->long_jump_base()->Jump(1, error); | 4003 I->long_jump_base()->Jump(1, error); |
4004 UNREACHABLE(); | 4004 UNREACHABLE(); |
4005 } | 4005 } |
4006 | 4006 |
4007 } // namespace dart | 4007 } // namespace dart |
OLD | NEW |