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_X64_H_ | 5 #ifndef VM_ASSEMBLER_X64_H_ |
6 #define VM_ASSEMBLER_X64_H_ | 6 #define VM_ASSEMBLER_X64_H_ |
7 | 7 |
8 #ifndef VM_ASSEMBLER_H_ | 8 #ifndef VM_ASSEMBLER_H_ |
9 #error Do not include assembler_x64.h directly; use assembler.h instead. | 9 #error Do not include assembler_x64.h directly; use assembler.h instead. |
10 #endif | 10 #endif |
(...skipping 1014 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
1025 intptr_t cid, | 1025 intptr_t cid, |
1026 intptr_t index_scale, | 1026 intptr_t index_scale, |
1027 Register array, | 1027 Register array, |
1028 intptr_t index); | 1028 intptr_t index); |
1029 static Address ElementAddressForRegIndex(bool is_external, | 1029 static Address ElementAddressForRegIndex(bool is_external, |
1030 intptr_t cid, | 1030 intptr_t cid, |
1031 intptr_t index_scale, | 1031 intptr_t index_scale, |
1032 Register array, | 1032 Register array, |
1033 Register index); | 1033 Register index); |
1034 | 1034 |
| 1035 static Address VMTagAddress() { |
| 1036 return Address(THR, Thread::vm_tag_offset()); |
| 1037 } |
| 1038 |
1035 // On some other platforms, we draw a distinction between safe and unsafe | 1039 // On some other platforms, we draw a distinction between safe and unsafe |
1036 // smis. | 1040 // smis. |
1037 static bool IsSafe(const Object& object) { return true; } | 1041 static bool IsSafe(const Object& object) { return true; } |
1038 static bool IsSafeSmi(const Object& object) { return object.IsSmi(); } | 1042 static bool IsSafeSmi(const Object& object) { return object.IsSmi(); } |
1039 | 1043 |
1040 private: | 1044 private: |
1041 AssemblerBuffer buffer_; | 1045 AssemblerBuffer buffer_; |
1042 | 1046 |
1043 ObjectPoolWrapper object_pool_wrapper_; | 1047 ObjectPoolWrapper object_pool_wrapper_; |
1044 | 1048 |
(...skipping 153 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
1198 } | 1202 } |
1199 | 1203 |
1200 | 1204 |
1201 inline void Assembler::EmitOperandSizeOverride() { | 1205 inline void Assembler::EmitOperandSizeOverride() { |
1202 EmitUint8(0x66); | 1206 EmitUint8(0x66); |
1203 } | 1207 } |
1204 | 1208 |
1205 } // namespace dart | 1209 } // namespace dart |
1206 | 1210 |
1207 #endif // VM_ASSEMBLER_X64_H_ | 1211 #endif // VM_ASSEMBLER_X64_H_ |
OLD | NEW |