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 988 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
999 bool near_jump, | 999 bool near_jump, |
1000 bool inline_isolate = true); | 1000 bool inline_isolate = true); |
1001 | 1001 |
1002 // Inlined allocation of an instance of class 'cls', code has no runtime | 1002 // Inlined allocation of an instance of class 'cls', code has no runtime |
1003 // calls. Jump to 'failure' if the instance cannot be allocated here. | 1003 // calls. Jump to 'failure' if the instance cannot be allocated here. |
1004 // Allocated instance is returned in 'instance_reg'. | 1004 // Allocated instance is returned in 'instance_reg'. |
1005 // Only the tags field of the object is initialized. | 1005 // Only the tags field of the object is initialized. |
1006 void TryAllocate(const Class& cls, | 1006 void TryAllocate(const Class& cls, |
1007 Label* failure, | 1007 Label* failure, |
1008 bool near_jump, | 1008 bool near_jump, |
1009 Register instance_reg); | 1009 Register instance_reg, |
| 1010 Register temp); |
1010 | 1011 |
1011 void TryAllocateArray(intptr_t cid, | 1012 void TryAllocateArray(intptr_t cid, |
1012 intptr_t instance_size, | 1013 intptr_t instance_size, |
1013 Label* failure, | 1014 Label* failure, |
1014 bool near_jump, | 1015 bool near_jump, |
1015 Register instance, | 1016 Register instance, |
1016 Register end_address); | 1017 Register end_address, |
| 1018 Register temp); |
1017 | 1019 |
1018 // Debugging and bringup support. | 1020 // Debugging and bringup support. |
1019 void Stop(const char* message, bool fixed_length_encoding = false); | 1021 void Stop(const char* message, bool fixed_length_encoding = false); |
1020 void Unimplemented(const char* message); | 1022 void Unimplemented(const char* message); |
1021 void Untested(const char* message); | 1023 void Untested(const char* message); |
1022 void Unreachable(const char* message); | 1024 void Unreachable(const char* message); |
1023 | 1025 |
1024 static void InitializeMemoryWithBreakpoints(uword data, intptr_t length); | 1026 static void InitializeMemoryWithBreakpoints(uword data, intptr_t length); |
1025 | 1027 |
1026 static const char* RegisterName(Register reg); | 1028 static const char* RegisterName(Register reg); |
(...skipping 177 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
1204 } | 1206 } |
1205 | 1207 |
1206 | 1208 |
1207 inline void Assembler::EmitOperandSizeOverride() { | 1209 inline void Assembler::EmitOperandSizeOverride() { |
1208 EmitUint8(0x66); | 1210 EmitUint8(0x66); |
1209 } | 1211 } |
1210 | 1212 |
1211 } // namespace dart | 1213 } // namespace dart |
1212 | 1214 |
1213 #endif // VM_ASSEMBLER_X64_H_ | 1215 #endif // VM_ASSEMBLER_X64_H_ |
OLD | NEW |