| 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 RUNTIME_VM_FLOW_GRAPH_COMPILER_H_ | 5 #ifndef RUNTIME_VM_FLOW_GRAPH_COMPILER_H_ |
| 6 #define RUNTIME_VM_FLOW_GRAPH_COMPILER_H_ | 6 #define RUNTIME_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 692 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 703 | 703 |
| 704 RawSubtypeTestCache* GenerateSubtype1TestCacheLookup( | 704 RawSubtypeTestCache* GenerateSubtype1TestCacheLookup( |
| 705 TokenPosition token_pos, | 705 TokenPosition token_pos, |
| 706 const Class& type_class, | 706 const Class& type_class, |
| 707 Label* is_instance_lbl, | 707 Label* is_instance_lbl, |
| 708 Label* is_not_instance_lbl); | 708 Label* is_not_instance_lbl); |
| 709 | 709 |
| 710 enum TypeTestStubKind { | 710 enum TypeTestStubKind { |
| 711 kTestTypeOneArg, | 711 kTestTypeOneArg, |
| 712 kTestTypeTwoArgs, | 712 kTestTypeTwoArgs, |
| 713 kTestTypeThreeArgs, | 713 kTestTypeFourArgs, |
| 714 }; | 714 }; |
| 715 | 715 |
| 716 RawSubtypeTestCache* GenerateCallSubtypeTestStub(TypeTestStubKind test_kind, | 716 RawSubtypeTestCache* GenerateCallSubtypeTestStub( |
| 717 Register instance_reg, | 717 TypeTestStubKind test_kind, |
| 718 Register type_arguments_reg, | 718 Register instance_reg, |
| 719 Register temp_reg, | 719 Register instantiator_type_arguments_reg, |
| 720 Label* is_instance_lbl, | 720 Register function_type_arguments_reg, |
| 721 Label* is_not_instance_lbl); | 721 Register temp_reg, |
| 722 Label* is_instance_lbl, |
| 723 Label* is_not_instance_lbl); |
| 722 | 724 |
| 723 void GenerateBoolToJump(Register bool_reg, Label* is_true, Label* is_false); | 725 void GenerateBoolToJump(Register bool_reg, Label* is_true, Label* is_false); |
| 724 | 726 |
| 725 void CopyParameters(); | 727 void CopyParameters(); |
| 726 #endif // !defined(TARGET_ARCH_DBC) | 728 #endif // !defined(TARGET_ARCH_DBC) |
| 727 | 729 |
| 728 void GenerateInlinedGetter(intptr_t offset); | 730 void GenerateInlinedGetter(intptr_t offset); |
| 729 void GenerateInlinedSetter(intptr_t offset); | 731 void GenerateInlinedSetter(intptr_t offset); |
| 730 | 732 |
| 731 // Perform a greedy local register allocation. Consider all registers free. | 733 // Perform a greedy local register allocation. Consider all registers free. |
| (...skipping 105 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 837 ZoneGrowableArray<const ICData*>* deopt_id_to_ic_data_; | 839 ZoneGrowableArray<const ICData*>* deopt_id_to_ic_data_; |
| 838 | 840 |
| 839 Array& edge_counters_array_; | 841 Array& edge_counters_array_; |
| 840 | 842 |
| 841 DISALLOW_COPY_AND_ASSIGN(FlowGraphCompiler); | 843 DISALLOW_COPY_AND_ASSIGN(FlowGraphCompiler); |
| 842 }; | 844 }; |
| 843 | 845 |
| 844 } // namespace dart | 846 } // namespace dart |
| 845 | 847 |
| 846 #endif // RUNTIME_VM_FLOW_GRAPH_COMPILER_H_ | 848 #endif // RUNTIME_VM_FLOW_GRAPH_COMPILER_H_ |
| OLD | NEW |