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_H_ | 5 #ifndef VM_FLOW_GRAPH_COMPILER_H_ |
6 #define VM_FLOW_GRAPH_COMPILER_H_ | 6 #define VM_FLOW_GRAPH_COMPILER_H_ |
7 | 7 |
8 #include "vm/allocation.h" | 8 #include "vm/allocation.h" |
9 #include "vm/assembler.h" | 9 #include "vm/assembler.h" |
10 #include "vm/code_descriptors.h" | 10 #include "vm/code_descriptors.h" |
(...skipping 319 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
330 void GenerateStringTypeCheck(Register kClassIdReg, | 330 void GenerateStringTypeCheck(Register kClassIdReg, |
331 Label* is_instance_lbl, | 331 Label* is_instance_lbl, |
332 Label* is_not_instance_lbl); | 332 Label* is_not_instance_lbl); |
333 void GenerateListTypeCheck(Register kClassIdReg, | 333 void GenerateListTypeCheck(Register kClassIdReg, |
334 Label* is_instance_lbl); | 334 Label* is_instance_lbl); |
335 | 335 |
336 void EmitComment(Instruction* instr); | 336 void EmitComment(Instruction* instr); |
337 | 337 |
338 void EmitOptimizedInstanceCall(ExternalLabel* target_label, | 338 void EmitOptimizedInstanceCall(ExternalLabel* target_label, |
339 const ICData& ic_data, | 339 const ICData& ic_data, |
340 const Array& arguments_descriptor, | |
341 intptr_t argument_count, | 340 intptr_t argument_count, |
342 intptr_t deopt_id, | 341 intptr_t deopt_id, |
343 intptr_t token_pos, | 342 intptr_t token_pos, |
344 LocationSummary* locs); | 343 LocationSummary* locs); |
345 | 344 |
346 void EmitInstanceCall(ExternalLabel* target_label, | 345 void EmitInstanceCall(ExternalLabel* target_label, |
347 const ICData& ic_data, | 346 const ICData& ic_data, |
348 const Array& arguments_descriptor, | |
349 intptr_t argument_count, | 347 intptr_t argument_count, |
350 intptr_t deopt_id, | 348 intptr_t deopt_id, |
351 intptr_t token_pos, | 349 intptr_t token_pos, |
352 LocationSummary* locs); | 350 LocationSummary* locs); |
353 | 351 |
354 void EmitMegamorphicInstanceCall(const ICData& ic_data, | 352 void EmitMegamorphicInstanceCall(const ICData& ic_data, |
355 const Array& arguments_descriptor, | |
356 intptr_t argument_count, | 353 intptr_t argument_count, |
357 intptr_t deopt_id, | 354 intptr_t deopt_id, |
358 intptr_t token_pos, | 355 intptr_t token_pos, |
359 LocationSummary* locs); | 356 LocationSummary* locs); |
360 | 357 |
361 void EmitTestAndCall(const ICData& ic_data, | 358 void EmitTestAndCall(const ICData& ic_data, |
362 Register class_id_reg, | 359 Register class_id_reg, |
363 intptr_t arg_count, | 360 intptr_t arg_count, |
364 const Array& arg_names, | 361 const Array& arg_names, |
365 Label* deopt, | 362 Label* deopt, |
(...skipping 225 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
591 // that should be used when deoptimizing we store it in this variable. | 588 // that should be used when deoptimizing we store it in this variable. |
592 // In future AddDeoptStub should be moved out of the instruction template. | 589 // In future AddDeoptStub should be moved out of the instruction template. |
593 Environment* pending_deoptimization_env_; | 590 Environment* pending_deoptimization_env_; |
594 | 591 |
595 DISALLOW_COPY_AND_ASSIGN(FlowGraphCompiler); | 592 DISALLOW_COPY_AND_ASSIGN(FlowGraphCompiler); |
596 }; | 593 }; |
597 | 594 |
598 } // namespace dart | 595 } // namespace dart |
599 | 596 |
600 #endif // VM_FLOW_GRAPH_COMPILER_H_ | 597 #endif // VM_FLOW_GRAPH_COMPILER_H_ |
OLD | NEW |