| 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 |