| 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_INTERMEDIATE_LANGUAGE_H_ | 5 #ifndef VM_INTERMEDIATE_LANGUAGE_H_ |
| 6 #define VM_INTERMEDIATE_LANGUAGE_H_ | 6 #define VM_INTERMEDIATE_LANGUAGE_H_ |
| 7 | 7 |
| 8 #include "vm/allocation.h" | 8 #include "vm/allocation.h" |
| 9 #include "vm/ast.h" | 9 #include "vm/ast.h" |
| 10 #include "vm/growable_array.h" | 10 #include "vm/growable_array.h" |
| (...skipping 759 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 770 intptr_t fixed_parameter_count); | 770 intptr_t fixed_parameter_count); |
| 771 | 771 |
| 772 void AddCatchEntry(TargetEntryInstr* entry) { catch_entries_.Add(entry); } | 772 void AddCatchEntry(TargetEntryInstr* entry) { catch_entries_.Add(entry); } |
| 773 | 773 |
| 774 virtual void PrepareEntry(FlowGraphCompiler* compiler); | 774 virtual void PrepareEntry(FlowGraphCompiler* compiler); |
| 775 | 775 |
| 776 Environment* start_env() const { return start_env_; } | 776 Environment* start_env() const { return start_env_; } |
| 777 void set_start_env(Environment* env) { start_env_ = env; } | 777 void set_start_env(Environment* env) { start_env_ = env; } |
| 778 | 778 |
| 779 ConstantInstr* constant_null() const { return constant_null_; } | 779 ConstantInstr* constant_null() const { return constant_null_; } |
| 780 void set_constant_null(ConstantInstr* instr) { constant_null_ = instr; } |
| 780 | 781 |
| 781 intptr_t spill_slot_count() const { return spill_slot_count_; } | 782 intptr_t spill_slot_count() const { return spill_slot_count_; } |
| 782 void set_spill_slot_count(intptr_t count) { | 783 void set_spill_slot_count(intptr_t count) { |
| 783 ASSERT(count >= 0); | 784 ASSERT(count >= 0); |
| 784 spill_slot_count_ = count; | 785 spill_slot_count_ = count; |
| 785 } | 786 } |
| 786 | 787 |
| 787 TargetEntryInstr* normal_entry() const { return normal_entry_; } | 788 TargetEntryInstr* normal_entry() const { return normal_entry_; } |
| 788 | 789 |
| 789 virtual void PrintTo(BufferFormatter* f) const; | 790 virtual void PrintTo(BufferFormatter* f) const; |
| (...skipping 357 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 1147 virtual intptr_t Hashcode() const { | 1148 virtual intptr_t Hashcode() const { |
| 1148 UNREACHABLE(); | 1149 UNREACHABLE(); |
| 1149 return 0; | 1150 return 0; |
| 1150 } | 1151 } |
| 1151 | 1152 |
| 1152 virtual intptr_t ResultCid() const { | 1153 virtual intptr_t ResultCid() const { |
| 1153 UNREACHABLE(); | 1154 UNREACHABLE(); |
| 1154 return kIllegalCid; | 1155 return kIllegalCid; |
| 1155 } | 1156 } |
| 1156 | 1157 |
| 1157 virtual void PrintTo(BufferFormatter* f) const; | 1158 virtual void PrintOperandsTo(BufferFormatter* f) const; |
| 1158 virtual void PrintToVisualizer(BufferFormatter* f) const; | 1159 virtual void PrintToVisualizer(BufferFormatter* f) const; |
| 1159 | 1160 |
| 1160 private: | 1161 private: |
| 1161 const intptr_t index_; | 1162 const intptr_t index_; |
| 1162 GraphEntryInstr* block_; | 1163 GraphEntryInstr* block_; |
| 1163 | 1164 |
| 1164 DISALLOW_COPY_AND_ASSIGN(ParameterInstr); | 1165 DISALLOW_COPY_AND_ASSIGN(ParameterInstr); |
| 1165 }; | 1166 }; |
| 1166 | 1167 |
| 1167 | 1168 |
| (...skipping 34 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 1202 return locs_; | 1203 return locs_; |
| 1203 } | 1204 } |
| 1204 | 1205 |
| 1205 virtual intptr_t Hashcode() const { | 1206 virtual intptr_t Hashcode() const { |
| 1206 UNREACHABLE(); | 1207 UNREACHABLE(); |
| 1207 return 0; | 1208 return 0; |
| 1208 } | 1209 } |
| 1209 | 1210 |
| 1210 virtual bool CanDeoptimize() const { return false; } | 1211 virtual bool CanDeoptimize() const { return false; } |
| 1211 | 1212 |
| 1212 virtual void PrintTo(BufferFormatter* f) const; | 1213 virtual void PrintOperandsTo(BufferFormatter* f) const; |
| 1213 virtual void PrintToVisualizer(BufferFormatter* f) const; | 1214 virtual void PrintToVisualizer(BufferFormatter* f) const; |
| 1214 | 1215 |
| 1215 private: | 1216 private: |
| 1216 Value* value_; | 1217 Value* value_; |
| 1217 LocationSummary* locs_; | 1218 LocationSummary* locs_; |
| 1218 | 1219 |
| 1219 DISALLOW_COPY_AND_ASSIGN(PushArgumentInstr); | 1220 DISALLOW_COPY_AND_ASSIGN(PushArgumentInstr); |
| 1220 }; | 1221 }; |
| 1221 | 1222 |
| 1222 | 1223 |
| (...skipping 515 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 1738 } | 1739 } |
| 1739 | 1740 |
| 1740 DECLARE_INSTRUCTION(PolymorphicInstanceCall) | 1741 DECLARE_INSTRUCTION(PolymorphicInstanceCall) |
| 1741 virtual RawAbstractType* CompileType() const; | 1742 virtual RawAbstractType* CompileType() const; |
| 1742 | 1743 |
| 1743 const ICData& ic_data() const { return ic_data_; } | 1744 const ICData& ic_data() const { return ic_data_; } |
| 1744 | 1745 |
| 1745 virtual bool CanDeoptimize() const { return true; } | 1746 virtual bool CanDeoptimize() const { return true; } |
| 1746 virtual intptr_t ResultCid() const { return kDynamicCid; } | 1747 virtual intptr_t ResultCid() const { return kDynamicCid; } |
| 1747 | 1748 |
| 1748 virtual void PrintTo(BufferFormatter* f) const; | 1749 virtual void PrintOperandsTo(BufferFormatter* f) const; |
| 1749 | 1750 |
| 1750 private: | 1751 private: |
| 1751 InstanceCallInstr* instance_call_; | 1752 InstanceCallInstr* instance_call_; |
| 1752 const ICData& ic_data_; | 1753 const ICData& ic_data_; |
| 1753 const bool with_checks_; | 1754 const bool with_checks_; |
| 1754 | 1755 |
| 1755 DISALLOW_COPY_AND_ASSIGN(PolymorphicInstanceCallInstr); | 1756 DISALLOW_COPY_AND_ASSIGN(PolymorphicInstanceCallInstr); |
| 1756 }; | 1757 }; |
| 1757 | 1758 |
| 1758 | 1759 |
| (...skipping 1540 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 3299 ForwardInstructionIterator* current_iterator_; | 3300 ForwardInstructionIterator* current_iterator_; |
| 3300 | 3301 |
| 3301 private: | 3302 private: |
| 3302 DISALLOW_COPY_AND_ASSIGN(FlowGraphVisitor); | 3303 DISALLOW_COPY_AND_ASSIGN(FlowGraphVisitor); |
| 3303 }; | 3304 }; |
| 3304 | 3305 |
| 3305 | 3306 |
| 3306 } // namespace dart | 3307 } // namespace dart |
| 3307 | 3308 |
| 3308 #endif // VM_INTERMEDIATE_LANGUAGE_H_ | 3309 #endif // VM_INTERMEDIATE_LANGUAGE_H_ |
| OLD | NEW |