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 |