OLD | NEW |
1 // Copyright (c) 2013, the Dart project authors. Please see the AUTHORS file | 1 // Copyright (c) 2013, 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_ASSEMBLER_ARM_H_ | 5 #ifndef VM_ASSEMBLER_ARM_H_ |
6 #define VM_ASSEMBLER_ARM_H_ | 6 #define VM_ASSEMBLER_ARM_H_ |
7 | 7 |
8 #ifndef VM_ASSEMBLER_H_ | 8 #ifndef VM_ASSEMBLER_H_ |
9 #error Do not include assembler_arm.h directly; use assembler.h instead. | 9 #error Do not include assembler_arm.h directly; use assembler.h instead. |
10 #endif | 10 #endif |
(...skipping 776 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
787 // Stores a Smi value into a heap object field that always contains a Smi. | 787 // Stores a Smi value into a heap object field that always contains a Smi. |
788 void StoreIntoSmiField(const Address& dest, Register value); | 788 void StoreIntoSmiField(const Address& dest, Register value); |
789 | 789 |
790 void LoadClassId(Register result, Register object, Condition cond = AL); | 790 void LoadClassId(Register result, Register object, Condition cond = AL); |
791 void LoadClassById(Register result, Register class_id); | 791 void LoadClassById(Register result, Register class_id); |
792 void LoadClass(Register result, Register object, Register scratch); | 792 void LoadClass(Register result, Register object, Register scratch); |
793 void CompareClassId(Register object, intptr_t class_id, Register scratch); | 793 void CompareClassId(Register object, intptr_t class_id, Register scratch); |
794 void LoadClassIdMayBeSmi(Register result, Register object); | 794 void LoadClassIdMayBeSmi(Register result, Register object); |
795 void LoadTaggedClassIdMayBeSmi(Register result, Register object); | 795 void LoadTaggedClassIdMayBeSmi(Register result, Register object); |
796 | 796 |
797 void ComputeRange(Register result, | |
798 Register value, | |
799 Register scratch, | |
800 Label* miss); | |
801 | |
802 void UpdateRangeFeedback(Register value, | |
803 intptr_t idx, | |
804 Register ic_data, | |
805 Register scratch1, | |
806 Register scratch2, | |
807 Label* miss); | |
808 | |
809 intptr_t FindImmediate(int32_t imm); | 797 intptr_t FindImmediate(int32_t imm); |
810 bool CanLoadFromObjectPool(const Object& object) const; | 798 bool CanLoadFromObjectPool(const Object& object) const; |
811 void LoadFromOffset(OperandSize type, | 799 void LoadFromOffset(OperandSize type, |
812 Register reg, | 800 Register reg, |
813 Register base, | 801 Register base, |
814 int32_t offset, | 802 int32_t offset, |
815 Condition cond = AL); | 803 Condition cond = AL); |
816 void LoadFieldFromOffset(OperandSize type, | 804 void LoadFieldFromOffset(OperandSize type, |
817 Register reg, | 805 Register reg, |
818 Register base, | 806 Register base, |
(...skipping 355 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
1174 Register value, | 1162 Register value, |
1175 Label* no_update); | 1163 Label* no_update); |
1176 | 1164 |
1177 DISALLOW_ALLOCATION(); | 1165 DISALLOW_ALLOCATION(); |
1178 DISALLOW_COPY_AND_ASSIGN(Assembler); | 1166 DISALLOW_COPY_AND_ASSIGN(Assembler); |
1179 }; | 1167 }; |
1180 | 1168 |
1181 } // namespace dart | 1169 } // namespace dart |
1182 | 1170 |
1183 #endif // VM_ASSEMBLER_ARM_H_ | 1171 #endif // VM_ASSEMBLER_ARM_H_ |
OLD | NEW |