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 693 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
704 | 704 |
705 // Stores a Smi value into a heap object field that always contains a Smi. | 705 // Stores a Smi value into a heap object field that always contains a Smi. |
706 void StoreIntoSmiField(const Address& dest, Register value); | 706 void StoreIntoSmiField(const Address& dest, Register value); |
707 | 707 |
708 void LoadClassId(Register result, Register object, Condition cond = AL); | 708 void LoadClassId(Register result, Register object, Condition cond = AL); |
709 void LoadClassById(Register result, Register class_id); | 709 void LoadClassById(Register result, Register class_id); |
710 void LoadClass(Register result, Register object, Register scratch); | 710 void LoadClass(Register result, Register object, Register scratch); |
711 void CompareClassId(Register object, intptr_t class_id, Register scratch); | 711 void CompareClassId(Register object, intptr_t class_id, Register scratch); |
712 void LoadTaggedClassIdMayBeSmi(Register result, Register object); | 712 void LoadTaggedClassIdMayBeSmi(Register result, Register object); |
713 | 713 |
| 714 void ComputeRange(Register result, |
| 715 Register value, |
| 716 Register scratch, |
| 717 Label* miss); |
| 718 |
| 719 void UpdateRangeFeedback(Register value, |
| 720 intptr_t idx, |
| 721 Register ic_data, |
| 722 Register scratch1, |
| 723 Register scratch2, |
| 724 Label* miss); |
| 725 |
714 void LoadWordFromPoolOffset(Register rd, int32_t offset, Condition cond = AL); | 726 void LoadWordFromPoolOffset(Register rd, int32_t offset, Condition cond = AL); |
715 void LoadFromOffset(OperandSize type, | 727 void LoadFromOffset(OperandSize type, |
716 Register reg, | 728 Register reg, |
717 Register base, | 729 Register base, |
718 int32_t offset, | 730 int32_t offset, |
719 Condition cond = AL); | 731 Condition cond = AL); |
720 void LoadFieldFromOffset(OperandSize type, | 732 void LoadFieldFromOffset(OperandSize type, |
721 Register reg, | 733 Register reg, |
722 Register base, | 734 Register base, |
723 int32_t offset, | 735 int32_t offset, |
(...skipping 362 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
1086 // verifying that its old value matches its shadow. | 1098 // verifying that its old value matches its shadow. |
1087 void VerifiedWrite(const Address& address, Register new_value); | 1099 void VerifiedWrite(const Address& address, Register new_value); |
1088 | 1100 |
1089 DISALLOW_ALLOCATION(); | 1101 DISALLOW_ALLOCATION(); |
1090 DISALLOW_COPY_AND_ASSIGN(Assembler); | 1102 DISALLOW_COPY_AND_ASSIGN(Assembler); |
1091 }; | 1103 }; |
1092 | 1104 |
1093 } // namespace dart | 1105 } // namespace dart |
1094 | 1106 |
1095 #endif // VM_ASSEMBLER_ARM_H_ | 1107 #endif // VM_ASSEMBLER_ARM_H_ |
OLD | NEW |