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 95 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
106 intptr_t osr_id); | 106 intptr_t osr_id); |
107 | 107 |
108 FlowGraph* BuildGraph(); | 108 FlowGraph* BuildGraph(); |
109 | 109 |
110 const ParsedFunction& parsed_function() const { return parsed_function_; } | 110 const ParsedFunction& parsed_function() const { return parsed_function_; } |
111 const Function& function() const { return parsed_function_.function(); } | 111 const Function& function() const { return parsed_function_.function(); } |
112 const ZoneGrowableArray<const ICData*>& ic_data_array() const { | 112 const ZoneGrowableArray<const ICData*>& ic_data_array() const { |
113 return ic_data_array_; | 113 return ic_data_array_; |
114 } | 114 } |
115 | 115 |
116 // Return true if a Javascript compatibility warning should be emitted at | |
117 // runtime for this type test. | |
118 bool WarnOnJSIntegralNumTypeTest(AstNode* node, | |
119 const AbstractType& type) const; | |
120 | |
121 void Bailout(const char* reason) const; | 116 void Bailout(const char* reason) const; |
122 | 117 |
123 intptr_t AllocateBlockId() { return ++last_used_block_id_; } | 118 intptr_t AllocateBlockId() { return ++last_used_block_id_; } |
124 void SetInitialBlockId(intptr_t id) { last_used_block_id_ = id; } | 119 void SetInitialBlockId(intptr_t id) { last_used_block_id_ = id; } |
125 | 120 |
126 intptr_t context_level() const; | 121 intptr_t context_level() const; |
127 | 122 |
128 void IncrementLoopDepth() { ++loop_depth_; } | 123 void IncrementLoopDepth() { ++loop_depth_; } |
129 void DecrementLoopDepth() { --loop_depth_; } | 124 void DecrementLoopDepth() { --loop_depth_; } |
130 intptr_t loop_depth() const { return loop_depth_; } | 125 intptr_t loop_depth() const { return loop_depth_; } |
(...skipping 453 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
584 // Output parameters. | 579 // Output parameters. |
585 GrowableArray<TargetEntryInstr**> true_successor_addresses_; | 580 GrowableArray<TargetEntryInstr**> true_successor_addresses_; |
586 GrowableArray<TargetEntryInstr**> false_successor_addresses_; | 581 GrowableArray<TargetEntryInstr**> false_successor_addresses_; |
587 | 582 |
588 TokenPosition condition_token_pos_; | 583 TokenPosition condition_token_pos_; |
589 }; | 584 }; |
590 | 585 |
591 } // namespace dart | 586 } // namespace dart |
592 | 587 |
593 #endif // VM_FLOW_GRAPH_BUILDER_H_ | 588 #endif // VM_FLOW_GRAPH_BUILDER_H_ |
OLD | NEW |