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 653 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
664 void LoadPoolPointer(); | 664 void LoadPoolPointer(); |
665 | 665 |
666 void LoadIsolate(Register rd); | 666 void LoadIsolate(Register rd); |
667 | 667 |
668 void LoadObject(Register rd, const Object& object, Condition cond = AL); | 668 void LoadObject(Register rd, const Object& object, Condition cond = AL); |
669 void LoadUniqueObject(Register rd, const Object& object, Condition cond = AL); | 669 void LoadUniqueObject(Register rd, const Object& object, Condition cond = AL); |
670 void LoadExternalLabel(Register dst, | 670 void LoadExternalLabel(Register dst, |
671 const ExternalLabel* label, | 671 const ExternalLabel* label, |
672 Patchability patchable, | 672 Patchability patchable, |
673 Condition cond = AL); | 673 Condition cond = AL); |
| 674 void LoadNativeEntry(Register dst, |
| 675 const ExternalLabel* label, |
| 676 Patchability patchable, |
| 677 Condition cond = AL); |
674 void PushObject(const Object& object); | 678 void PushObject(const Object& object); |
675 void CompareObject(Register rn, const Object& object); | 679 void CompareObject(Register rn, const Object& object); |
676 | 680 |
677 // When storing into a heap object field, knowledge of the previous content | 681 // When storing into a heap object field, knowledge of the previous content |
678 // is expressed through these constants. | 682 // is expressed through these constants. |
679 enum FieldContent { | 683 enum FieldContent { |
680 kEmptyOrSmiOrNull, // Empty = garbage/zapped in release/debug mode. | 684 kEmptyOrSmiOrNull, // Empty = garbage/zapped in release/debug mode. |
681 kHeapObjectOrSmi, | 685 kHeapObjectOrSmi, |
682 kOnlySmi, | 686 kOnlySmi, |
683 }; | 687 }; |
(...skipping 460 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
1144 Register new_value, | 1148 Register new_value, |
1145 FieldContent old_content); | 1149 FieldContent old_content); |
1146 | 1150 |
1147 DISALLOW_ALLOCATION(); | 1151 DISALLOW_ALLOCATION(); |
1148 DISALLOW_COPY_AND_ASSIGN(Assembler); | 1152 DISALLOW_COPY_AND_ASSIGN(Assembler); |
1149 }; | 1153 }; |
1150 | 1154 |
1151 } // namespace dart | 1155 } // namespace dart |
1152 | 1156 |
1153 #endif // VM_ASSEMBLER_ARM_H_ | 1157 #endif // VM_ASSEMBLER_ARM_H_ |
OLD | NEW |