| OLD | NEW |
| 1 // Copyright (c) 2014, the Dart project authors. Please see the AUTHORS file | 1 // Copyright (c) 2014, 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_ARM64_H_ | 5 #ifndef VM_ASSEMBLER_ARM64_H_ |
| 6 #define VM_ASSEMBLER_ARM64_H_ | 6 #define VM_ASSEMBLER_ARM64_H_ |
| 7 | 7 |
| 8 #ifndef VM_ASSEMBLER_H_ | 8 #ifndef VM_ASSEMBLER_H_ |
| 9 #error Do not include assembler_arm64.h directly; use assembler.h instead. | 9 #error Do not include assembler_arm64.h directly; use assembler.h instead. |
| 10 #endif | 10 #endif |
| (...skipping 1156 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 1167 void CompareObject(Register reg, const Object& object, Register pp); | 1167 void CompareObject(Register reg, const Object& object, Register pp); |
| 1168 | 1168 |
| 1169 void LoadClassId(Register result, Register object, Register pp); | 1169 void LoadClassId(Register result, Register object, Register pp); |
| 1170 void LoadClassById(Register result, Register class_id, Register pp); | 1170 void LoadClassById(Register result, Register class_id, Register pp); |
| 1171 void LoadClass(Register result, Register object, Register pp); | 1171 void LoadClass(Register result, Register object, Register pp); |
| 1172 void CompareClassId(Register object, intptr_t class_id, Register pp); | 1172 void CompareClassId(Register object, intptr_t class_id, Register pp); |
| 1173 | 1173 |
| 1174 void EnterFrame(intptr_t frame_size); | 1174 void EnterFrame(intptr_t frame_size); |
| 1175 void LeaveFrame(); | 1175 void LeaveFrame(); |
| 1176 | 1176 |
| 1177 // When entering Dart code from C++, we copy the system stack pointer (CSP) |
| 1178 // to the Dart stack pointer (SP), and reserve a little space for the stack |
| 1179 // to grow. |
| 1180 void SetupDartSP(intptr_t reserved_space) { |
| 1181 ASSERT(Utils::IsAligned(reserved_space, 16)); |
| 1182 mov(SP, CSP); |
| 1183 sub(CSP, CSP, Operand(reserved_space)); |
| 1184 } |
| 1185 |
| 1177 void EnterDartFrame(intptr_t frame_size); | 1186 void EnterDartFrame(intptr_t frame_size); |
| 1178 void EnterDartFrameWithInfo(intptr_t frame_size, Register new_pp); | 1187 void EnterDartFrameWithInfo(intptr_t frame_size, Register new_pp); |
| 1179 void EnterOsrFrame(intptr_t extra_size, Register new_pp); | 1188 void EnterOsrFrame(intptr_t extra_size, Register new_pp); |
| 1180 void LeaveDartFrame(); | 1189 void LeaveDartFrame(); |
| 1181 | 1190 |
| 1182 void EnterCallRuntimeFrame(intptr_t frame_size); | 1191 void EnterCallRuntimeFrame(intptr_t frame_size); |
| 1183 void LeaveCallRuntimeFrame(); | 1192 void LeaveCallRuntimeFrame(); |
| 1184 void CallRuntime(const RuntimeEntry& entry, intptr_t argument_count); | 1193 void CallRuntime(const RuntimeEntry& entry, intptr_t argument_count); |
| 1185 | 1194 |
| 1186 // Set up a stub frame so that the stack traversal code can easily identify | 1195 // Set up a stub frame so that the stack traversal code can easily identify |
| (...skipping 473 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 1660 Register value, | 1669 Register value, |
| 1661 Label* no_update); | 1670 Label* no_update); |
| 1662 | 1671 |
| 1663 DISALLOW_ALLOCATION(); | 1672 DISALLOW_ALLOCATION(); |
| 1664 DISALLOW_COPY_AND_ASSIGN(Assembler); | 1673 DISALLOW_COPY_AND_ASSIGN(Assembler); |
| 1665 }; | 1674 }; |
| 1666 | 1675 |
| 1667 } // namespace dart | 1676 } // namespace dart |
| 1668 | 1677 |
| 1669 #endif // VM_ASSEMBLER_ARM64_H_ | 1678 #endif // VM_ASSEMBLER_ARM64_H_ |
| OLD | NEW |