| 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 102 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 113 const Array& argument_names, | 113 const Array& argument_names, |
| 114 intptr_t checked_argument_count); | 114 intptr_t checked_argument_count); |
| 115 | 115 |
| 116 void GenerateStaticCall(intptr_t cid, | 116 void GenerateStaticCall(intptr_t cid, |
| 117 intptr_t token_index, | 117 intptr_t token_index, |
| 118 intptr_t try_index, | 118 intptr_t try_index, |
| 119 const Function& function, | 119 const Function& function, |
| 120 intptr_t argument_count, | 120 intptr_t argument_count, |
| 121 const Array& argument_names); | 121 const Array& argument_names); |
| 122 | 122 |
| 123 void GenerateInlinedMathSqrt(Label* done); |
| 124 |
| 123 void GenerateNumberTypeCheck(Register kClassIdReg, | 125 void GenerateNumberTypeCheck(Register kClassIdReg, |
| 124 const AbstractType& type, | 126 const AbstractType& type, |
| 125 Label* is_instance_lbl, | 127 Label* is_instance_lbl, |
| 126 Label* is_not_instance_lbl); | 128 Label* is_not_instance_lbl); |
| 127 void GenerateStringTypeCheck(Register kClassIdReg, | 129 void GenerateStringTypeCheck(Register kClassIdReg, |
| 128 Label* is_instance_lbl, | 130 Label* is_instance_lbl, |
| 129 Label* is_not_instance_lbl); | 131 Label* is_not_instance_lbl); |
| 130 void GenerateListTypeCheck(Register kClassIdReg, | 132 void GenerateListTypeCheck(Register kClassIdReg, |
| 131 Label* is_instance_lbl); | 133 Label* is_instance_lbl); |
| 132 | 134 |
| (...skipping 38 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 171 void FinalizeExceptionHandlers(const Code& code); | 173 void FinalizeExceptionHandlers(const Code& code); |
| 172 void FinalizePcDescriptors(const Code& code); | 174 void FinalizePcDescriptors(const Code& code); |
| 173 void FinalizeStackmaps(const Code& code); | 175 void FinalizeStackmaps(const Code& code); |
| 174 void FinalizeVarDescriptors(const Code& code); | 176 void FinalizeVarDescriptors(const Code& code); |
| 175 void FinalizeComments(const Code& code); | 177 void FinalizeComments(const Code& code); |
| 176 | 178 |
| 177 static const int kLocalsOffsetFromFP = (-1 * kWordSize); | 179 static const int kLocalsOffsetFromFP = (-1 * kWordSize); |
| 178 | 180 |
| 179 const Bool& bool_true() const { return bool_true_; } | 181 const Bool& bool_true() const { return bool_true_; } |
| 180 const Bool& bool_false() const { return bool_false_; } | 182 const Bool& bool_false() const { return bool_false_; } |
| 183 const Class& double_class() const { return double_class_; } |
| 181 | 184 |
| 182 private: | 185 private: |
| 183 friend class DeoptimizationStub; | 186 friend class DeoptimizationStub; |
| 184 | 187 |
| 185 void GenerateDeferredCode(); | 188 void GenerateDeferredCode(); |
| 186 | 189 |
| 187 void CopyParameters(); | 190 void CopyParameters(); |
| 188 virtual void EmitInstructionPrologue(Instruction* instr); | 191 virtual void EmitInstructionPrologue(Instruction* instr); |
| 189 | 192 |
| 190 virtual void GenerateInlinedGetter(intptr_t offset); | 193 virtual void GenerateInlinedGetter(intptr_t offset); |
| (...skipping 70 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 261 BlockEntryInstr* current_block_; | 264 BlockEntryInstr* current_block_; |
| 262 ExceptionHandlerList* exception_handlers_list_; | 265 ExceptionHandlerList* exception_handlers_list_; |
| 263 DescriptorList* pc_descriptors_list_; | 266 DescriptorList* pc_descriptors_list_; |
| 264 StackmapBuilder* stackmap_builder_; | 267 StackmapBuilder* stackmap_builder_; |
| 265 GrowableArray<BlockInfo*> block_info_; | 268 GrowableArray<BlockInfo*> block_info_; |
| 266 GrowableArray<DeoptimizationStub*> deopt_stubs_; | 269 GrowableArray<DeoptimizationStub*> deopt_stubs_; |
| 267 const bool is_optimizing_; | 270 const bool is_optimizing_; |
| 268 | 271 |
| 269 const Bool& bool_true_; | 272 const Bool& bool_true_; |
| 270 const Bool& bool_false_; | 273 const Bool& bool_false_; |
| 274 const Class& double_class_; |
| 271 | 275 |
| 272 DISALLOW_COPY_AND_ASSIGN(FlowGraphCompiler); | 276 DISALLOW_COPY_AND_ASSIGN(FlowGraphCompiler); |
| 273 }; | 277 }; |
| 274 | 278 |
| 275 | 279 |
| 276 class DeoptimizationStub : public ZoneAllocated { | 280 class DeoptimizationStub : public ZoneAllocated { |
| 277 public: | 281 public: |
| 278 DeoptimizationStub(intptr_t deopt_id, | 282 DeoptimizationStub(intptr_t deopt_id, |
| 279 intptr_t deopt_token_index, | 283 intptr_t deopt_token_index, |
| 280 intptr_t try_index, | 284 intptr_t try_index, |
| (...skipping 19 matching lines...) Expand all Loading... |
| 300 GrowableArray<Register> registers_; | 304 GrowableArray<Register> registers_; |
| 301 Label entry_label_; | 305 Label entry_label_; |
| 302 | 306 |
| 303 DISALLOW_COPY_AND_ASSIGN(DeoptimizationStub); | 307 DISALLOW_COPY_AND_ASSIGN(DeoptimizationStub); |
| 304 }; | 308 }; |
| 305 | 309 |
| 306 | 310 |
| 307 } // namespace dart | 311 } // namespace dart |
| 308 | 312 |
| 309 #endif // VM_FLOW_GRAPH_COMPILER_IA32_H_ | 313 #endif // VM_FLOW_GRAPH_COMPILER_IA32_H_ |
| OLD | NEW |