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 866 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
877 void Unimplemented(const char* message); | 877 void Unimplemented(const char* message); |
878 void Untested(const char* message); | 878 void Untested(const char* message); |
879 void Unreachable(const char* message); | 879 void Unreachable(const char* message); |
880 | 880 |
881 static void InitializeMemoryWithBreakpoints(uword data, intptr_t length); | 881 static void InitializeMemoryWithBreakpoints(uword data, intptr_t length); |
882 | 882 |
883 static const char* RegisterName(Register reg); | 883 static const char* RegisterName(Register reg); |
884 | 884 |
885 static const char* FpuRegisterName(FpuRegister reg); | 885 static const char* FpuRegisterName(FpuRegister reg); |
886 | 886 |
| 887 static Address ElementAddressForIntIndex(bool is_external, |
| 888 intptr_t cid, |
| 889 intptr_t index_scale, |
| 890 Register array, |
| 891 intptr_t index); |
| 892 static Address ElementAddressForRegIndex(bool is_external, |
| 893 intptr_t cid, |
| 894 intptr_t index_scale, |
| 895 Register array, |
| 896 Register index); |
| 897 |
887 // On some other platforms, we draw a distinction between safe and unsafe | 898 // On some other platforms, we draw a distinction between safe and unsafe |
888 // smis. | 899 // smis. |
889 static bool IsSafe(const Object& object) { return true; } | 900 static bool IsSafe(const Object& object) { return true; } |
890 static bool IsSafeSmi(const Object& object) { return object.IsSmi(); } | 901 static bool IsSafeSmi(const Object& object) { return object.IsSmi(); } |
891 | 902 |
892 private: | 903 private: |
893 AssemblerBuffer buffer_; | 904 AssemblerBuffer buffer_; |
894 | 905 |
895 // Objects and jump targets. | 906 // Objects and jump targets. |
896 GrowableObjectArray& object_pool_; | 907 GrowableObjectArray& object_pool_; |
(...skipping 187 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
1084 } | 1095 } |
1085 | 1096 |
1086 | 1097 |
1087 inline void Assembler::EmitOperandSizeOverride() { | 1098 inline void Assembler::EmitOperandSizeOverride() { |
1088 EmitUint8(0x66); | 1099 EmitUint8(0x66); |
1089 } | 1100 } |
1090 | 1101 |
1091 } // namespace dart | 1102 } // namespace dart |
1092 | 1103 |
1093 #endif // VM_ASSEMBLER_X64_H_ | 1104 #endif // VM_ASSEMBLER_X64_H_ |
OLD | NEW |