| 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 687 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 698 kTestTypeThreeArgs, | 698 kTestTypeThreeArgs, |
| 699 }; | 699 }; |
| 700 | 700 |
| 701 RawSubtypeTestCache* GenerateCallSubtypeTestStub(TypeTestStubKind test_kind, | 701 RawSubtypeTestCache* GenerateCallSubtypeTestStub(TypeTestStubKind test_kind, |
| 702 Register instance_reg, | 702 Register instance_reg, |
| 703 Register type_arguments_reg, | 703 Register type_arguments_reg, |
| 704 Register temp_reg, | 704 Register temp_reg, |
| 705 Label* is_instance_lbl, | 705 Label* is_instance_lbl, |
| 706 Label* is_not_instance_lbl); | 706 Label* is_not_instance_lbl); |
| 707 | 707 |
| 708 // Returns true if checking against this type is a direct class id comparison. | |
| 709 bool TypeCheckAsClassEquality(const AbstractType& type); | |
| 710 | |
| 711 void GenerateBoolToJump(Register bool_reg, Label* is_true, Label* is_false); | 708 void GenerateBoolToJump(Register bool_reg, Label* is_true, Label* is_false); |
| 712 | 709 |
| 713 void CopyParameters(); | 710 void CopyParameters(); |
| 714 #endif // !defined(TARGET_ARCH_DBC) | 711 #endif // !defined(TARGET_ARCH_DBC) |
| 715 | 712 |
| 716 void GenerateInlinedGetter(intptr_t offset); | 713 void GenerateInlinedGetter(intptr_t offset); |
| 717 void GenerateInlinedSetter(intptr_t offset); | 714 void GenerateInlinedSetter(intptr_t offset); |
| 718 | 715 |
| 719 // Perform a greedy local register allocation. Consider all registers free. | 716 // Perform a greedy local register allocation. Consider all registers free. |
| 720 void AllocateRegistersLocally(Instruction* instr); | 717 void AllocateRegistersLocally(Instruction* instr); |
| (...skipping 111 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 832 const GrowableArray<const Function*>& inline_id_to_function_; | 829 const GrowableArray<const Function*>& inline_id_to_function_; |
| 833 const GrowableArray<TokenPosition>& inline_id_to_token_pos_; | 830 const GrowableArray<TokenPosition>& inline_id_to_token_pos_; |
| 834 const GrowableArray<intptr_t>& caller_inline_id_; | 831 const GrowableArray<intptr_t>& caller_inline_id_; |
| 835 | 832 |
| 836 DISALLOW_COPY_AND_ASSIGN(FlowGraphCompiler); | 833 DISALLOW_COPY_AND_ASSIGN(FlowGraphCompiler); |
| 837 }; | 834 }; |
| 838 | 835 |
| 839 } // namespace dart | 836 } // namespace dart |
| 840 | 837 |
| 841 #endif // VM_FLOW_GRAPH_COMPILER_H_ | 838 #endif // VM_FLOW_GRAPH_COMPILER_H_ |
| OLD | NEW |