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 #ifndef VM_FLOW_GRAPH_BUILDER_H_ | 5 #ifndef VM_FLOW_GRAPH_BUILDER_H_ |
6 #define VM_FLOW_GRAPH_BUILDER_H_ | 6 #define VM_FLOW_GRAPH_BUILDER_H_ |
7 | 7 |
8 #include "platform/assert.h" | 8 #include "platform/assert.h" |
9 #include "platform/globals.h" | 9 #include "platform/globals.h" |
10 #include "vm/allocation.h" | 10 #include "vm/allocation.h" |
(...skipping 137 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
148 intptr_t osr_id, | 148 intptr_t osr_id, |
149 bool is_optimizing); | 149 bool is_optimizing); |
150 | 150 |
151 FlowGraph* BuildGraph(); | 151 FlowGraph* BuildGraph(); |
152 | 152 |
153 ParsedFunction* parsed_function() const { return parsed_function_; } | 153 ParsedFunction* parsed_function() const { return parsed_function_; } |
154 const ZoneGrowableArray<const ICData*>& ic_data_array() const { | 154 const ZoneGrowableArray<const ICData*>& ic_data_array() const { |
155 return ic_data_array_; | 155 return ic_data_array_; |
156 } | 156 } |
157 | 157 |
158 void WarnOnJSIntegralNumTypeTest(AstNode* node, | 158 // Return true if a Javascript compatibility warning should be emitted at |
| 159 // runtime for this type test. |
| 160 bool WarnOnJSIntegralNumTypeTest(AstNode* node, |
159 const AbstractType& type) const; | 161 const AbstractType& type) const; |
160 void JSWarning(intptr_t token_pos, const char* msg) const; | 162 |
161 void Bailout(const char* reason) const; | 163 void Bailout(const char* reason) const; |
162 | 164 |
163 intptr_t AllocateBlockId() { return ++last_used_block_id_; } | 165 intptr_t AllocateBlockId() { return ++last_used_block_id_; } |
164 void SetInitialBlockId(intptr_t id) { last_used_block_id_ = id; } | 166 void SetInitialBlockId(intptr_t id) { last_used_block_id_ = id; } |
165 | 167 |
166 intptr_t context_level() const; | 168 intptr_t context_level() const; |
167 | 169 |
168 void IncrementLoopDepth() { ++loop_depth_; } | 170 void IncrementLoopDepth() { ++loop_depth_; } |
169 void DecrementLoopDepth() { --loop_depth_; } | 171 void DecrementLoopDepth() { --loop_depth_; } |
170 intptr_t loop_depth() const { return loop_depth_; } | 172 intptr_t loop_depth() const { return loop_depth_; } |
(...skipping 414 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
585 // Output parameters. | 587 // Output parameters. |
586 GrowableArray<TargetEntryInstr**> true_successor_addresses_; | 588 GrowableArray<TargetEntryInstr**> true_successor_addresses_; |
587 GrowableArray<TargetEntryInstr**> false_successor_addresses_; | 589 GrowableArray<TargetEntryInstr**> false_successor_addresses_; |
588 | 590 |
589 intptr_t condition_token_pos_; | 591 intptr_t condition_token_pos_; |
590 }; | 592 }; |
591 | 593 |
592 } // namespace dart | 594 } // namespace dart |
593 | 595 |
594 #endif // VM_FLOW_GRAPH_BUILDER_H_ | 596 #endif // VM_FLOW_GRAPH_BUILDER_H_ |
OLD | NEW |