| 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_X64_H_ | 5 #ifndef VM_FLOW_GRAPH_COMPILER_X64_H_ |
| 6 #define VM_FLOW_GRAPH_COMPILER_X64_H_ | 6 #define VM_FLOW_GRAPH_COMPILER_X64_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_x64.h. | 9 #error Include flow_graph_compiler.h instead of flow_graph_compiler_x64.h. |
| 10 #endif | 10 #endif |
| (...skipping 149 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 160 Register reg1 = kNoRegister, | 160 Register reg1 = kNoRegister, |
| 161 Register reg2 = kNoRegister, | 161 Register reg2 = kNoRegister, |
| 162 Register reg3 = kNoRegister); | 162 Register reg3 = kNoRegister); |
| 163 | 163 |
| 164 void FinalizeExceptionHandlers(const Code& code); | 164 void FinalizeExceptionHandlers(const Code& code); |
| 165 void FinalizePcDescriptors(const Code& code); | 165 void FinalizePcDescriptors(const Code& code); |
| 166 void FinalizeStackmaps(const Code& code); | 166 void FinalizeStackmaps(const Code& code); |
| 167 void FinalizeVarDescriptors(const Code& code); | 167 void FinalizeVarDescriptors(const Code& code); |
| 168 void FinalizeComments(const Code& code); | 168 void FinalizeComments(const Code& code); |
| 169 | 169 |
| 170 const Bool& true_value() const { return true_value_; } |
| 171 const Bool& false_value() const { return false_value_; } |
| 172 |
| 170 static const int kLocalsOffsetFromFP = (-1 * kWordSize); | 173 static const int kLocalsOffsetFromFP = (-1 * kWordSize); |
| 171 | 174 |
| 172 private: | 175 private: |
| 173 friend class DeoptimizationStub; | 176 friend class DeoptimizationStub; |
| 174 | 177 |
| 175 void GenerateDeferredCode(); | 178 void GenerateDeferredCode(); |
| 176 | 179 |
| 177 virtual void EmitInstructionPrologue(Instruction* instr); | 180 virtual void EmitInstructionPrologue(Instruction* instr); |
| 178 | 181 |
| 179 // Emit code to load a Value into register 'dst'. | 182 // Emit code to load a Value into register 'dst'. |
| (...skipping 79 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 259 // for convenience. This is not the block's index in the block order, | 262 // for convenience. This is not the block's index in the block order, |
| 260 // which is reverse postorder. | 263 // which is reverse postorder. |
| 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 |
| 272 const Bool& true_value_; |
| 273 const Bool& false_value_; |
| 274 |
| 269 DISALLOW_COPY_AND_ASSIGN(FlowGraphCompiler); | 275 DISALLOW_COPY_AND_ASSIGN(FlowGraphCompiler); |
| 270 }; | 276 }; |
| 271 | 277 |
| 272 | 278 |
| 273 class DeoptimizationStub : public ZoneAllocated { | 279 class DeoptimizationStub : public ZoneAllocated { |
| 274 public: | 280 public: |
| 275 DeoptimizationStub(intptr_t deopt_id, | 281 DeoptimizationStub(intptr_t deopt_id, |
| 276 intptr_t deopt_token_index, | 282 intptr_t deopt_token_index, |
| 277 intptr_t try_index, | 283 intptr_t try_index, |
| 278 DeoptReasonId reason) | 284 DeoptReasonId reason) |
| (...skipping 17 matching lines...) Expand all Loading... |
| 296 const DeoptReasonId reason_; | 302 const DeoptReasonId reason_; |
| 297 GrowableArray<Register> registers_; | 303 GrowableArray<Register> registers_; |
| 298 Label entry_label_; | 304 Label entry_label_; |
| 299 | 305 |
| 300 DISALLOW_COPY_AND_ASSIGN(DeoptimizationStub); | 306 DISALLOW_COPY_AND_ASSIGN(DeoptimizationStub); |
| 301 }; | 307 }; |
| 302 | 308 |
| 303 } // namespace dart | 309 } // namespace dart |
| 304 | 310 |
| 305 #endif // VM_FLOW_GRAPH_COMPILER_X64_H_ | 311 #endif // VM_FLOW_GRAPH_COMPILER_X64_H_ |
| OLD | NEW |