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 738 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
749 Label* miss); | 749 Label* miss); |
750 | 750 |
751 void UpdateRangeFeedback(Register value, | 751 void UpdateRangeFeedback(Register value, |
752 intptr_t idx, | 752 intptr_t idx, |
753 Register ic_data, | 753 Register ic_data, |
754 Register scratch1, | 754 Register scratch1, |
755 Register scratch2, | 755 Register scratch2, |
756 Label* miss); | 756 Label* miss); |
757 | 757 |
758 intptr_t FindImmediate(int32_t imm); | 758 intptr_t FindImmediate(int32_t imm); |
759 void LoadWordFromPoolOffset(Register rd, int32_t offset, Condition cond = AL); | |
760 void LoadFromOffset(OperandSize type, | 759 void LoadFromOffset(OperandSize type, |
761 Register reg, | 760 Register reg, |
762 Register base, | 761 Register base, |
763 int32_t offset, | 762 int32_t offset, |
764 Condition cond = AL); | 763 Condition cond = AL); |
765 void LoadFieldFromOffset(OperandSize type, | 764 void LoadFieldFromOffset(OperandSize type, |
766 Register reg, | 765 Register reg, |
767 Register base, | 766 Register base, |
768 int32_t offset, | 767 int32_t offset, |
769 Condition cond = AL) { | 768 Condition cond = AL) { |
(...skipping 215 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
985 // If you are thinking of using one or both of these instructions directly, | 984 // If you are thinking of using one or both of these instructions directly, |
986 // instead LoadImmediate should probably be used. | 985 // instead LoadImmediate should probably be used. |
987 void movw(Register rd, uint16_t imm16, Condition cond = AL); | 986 void movw(Register rd, uint16_t imm16, Condition cond = AL); |
988 void movt(Register rd, uint16_t imm16, Condition cond = AL); | 987 void movt(Register rd, uint16_t imm16, Condition cond = AL); |
989 | 988 |
990 void BindARMv6(Label* label); | 989 void BindARMv6(Label* label); |
991 void BindARMv7(Label* label); | 990 void BindARMv7(Label* label); |
992 | 991 |
993 void BranchLink(const ExternalLabel* label); | 992 void BranchLink(const ExternalLabel* label); |
994 | 993 |
| 994 void LoadWordFromPoolOffset(Register rd, int32_t offset, Condition cond); |
| 995 |
995 class CodeComment : public ZoneAllocated { | 996 class CodeComment : public ZoneAllocated { |
996 public: | 997 public: |
997 CodeComment(intptr_t pc_offset, const String& comment) | 998 CodeComment(intptr_t pc_offset, const String& comment) |
998 : pc_offset_(pc_offset), comment_(comment) { } | 999 : pc_offset_(pc_offset), comment_(comment) { } |
999 | 1000 |
1000 intptr_t pc_offset() const { return pc_offset_; } | 1001 intptr_t pc_offset() const { return pc_offset_; } |
1001 const String& comment() const { return comment_; } | 1002 const String& comment() const { return comment_; } |
1002 | 1003 |
1003 private: | 1004 private: |
1004 intptr_t pc_offset_; | 1005 intptr_t pc_offset_; |
(...skipping 139 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
1144 Register new_value, | 1145 Register new_value, |
1145 FieldContent old_content); | 1146 FieldContent old_content); |
1146 | 1147 |
1147 DISALLOW_ALLOCATION(); | 1148 DISALLOW_ALLOCATION(); |
1148 DISALLOW_COPY_AND_ASSIGN(Assembler); | 1149 DISALLOW_COPY_AND_ASSIGN(Assembler); |
1149 }; | 1150 }; |
1150 | 1151 |
1151 } // namespace dart | 1152 } // namespace dart |
1152 | 1153 |
1153 #endif // VM_ASSEMBLER_ARM_H_ | 1154 #endif // VM_ASSEMBLER_ARM_H_ |
OLD | NEW |