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_COMPILER_IA32_H_ | 5 #ifndef VM_FLOW_GRAPH_COMPILER_IA32_H_ |
6 #define VM_FLOW_GRAPH_COMPILER_IA32_H_ | 6 #define VM_FLOW_GRAPH_COMPILER_IA32_H_ |
7 | 7 |
8 #ifndef VM_FLOW_GRAPH_COMPILER_H_ | 8 #ifndef VM_FLOW_GRAPH_COMPILER_H_ |
9 #error Include flow_graph_compiler.h instead of flow_graph_compiler_ia32.h. | 9 #error Include flow_graph_compiler.h instead of flow_graph_compiler_ia32.h. |
10 #endif | 10 #endif |
(...skipping 125 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
136 intptr_t argument_count); | 136 intptr_t argument_count); |
137 | 137 |
138 void EmitLoadIndexedGeneric(LoadIndexedComp* comp); | 138 void EmitLoadIndexedGeneric(LoadIndexedComp* comp); |
139 | 139 |
140 void EmitComment(Instruction* instr); | 140 void EmitComment(Instruction* instr); |
141 | 141 |
142 void EmitClassChecksNoSmi(const ICData& ic_data, | 142 void EmitClassChecksNoSmi(const ICData& ic_data, |
143 Register instance_reg, | 143 Register instance_reg, |
144 Register temp_reg, | 144 Register temp_reg, |
145 Label* deopt); | 145 Label* deopt); |
| 146 void EmitTestAndCall(const ICData& ic_data, |
| 147 Register class_id_reg, |
| 148 intptr_t arg_count, |
| 149 const Array& arg_names, |
| 150 Label* deopt, |
| 151 Label* done, |
| 152 intptr_t cid, |
| 153 intptr_t token_index, |
| 154 intptr_t try_index); |
146 | 155 |
147 intptr_t StackSize() const; | 156 intptr_t StackSize() const; |
148 | 157 |
149 // Returns assembler label associated with the given block entry. | 158 // Returns assembler label associated with the given block entry. |
150 Label* GetBlockLabel(BlockEntryInstr* block_entry) const; | 159 Label* GetBlockLabel(BlockEntryInstr* block_entry) const; |
151 | 160 |
152 // Returns true if the next block after current in the current block order | 161 // Returns true if the next block after current in the current block order |
153 // is the given block. | 162 // is the given block. |
154 bool IsNextBlock(TargetEntryInstr* block_entry) const; | 163 bool IsNextBlock(TargetEntryInstr* block_entry) const; |
155 | 164 |
(...skipping 150 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
306 GrowableArray<Register> registers_; | 315 GrowableArray<Register> registers_; |
307 Label entry_label_; | 316 Label entry_label_; |
308 | 317 |
309 DISALLOW_COPY_AND_ASSIGN(DeoptimizationStub); | 318 DISALLOW_COPY_AND_ASSIGN(DeoptimizationStub); |
310 }; | 319 }; |
311 | 320 |
312 | 321 |
313 } // namespace dart | 322 } // namespace dart |
314 | 323 |
315 #endif // VM_FLOW_GRAPH_COMPILER_IA32_H_ | 324 #endif // VM_FLOW_GRAPH_COMPILER_IA32_H_ |
OLD | NEW |