| 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 |