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 1344 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
1355 | 1355 |
1356 // When entering Dart code from C++, we copy the system stack pointer (CSP) | 1356 // When entering Dart code from C++, we copy the system stack pointer (CSP) |
1357 // to the Dart stack pointer (SP), and reserve a little space for the stack | 1357 // to the Dart stack pointer (SP), and reserve a little space for the stack |
1358 // to grow. | 1358 // to grow. |
1359 void SetupDartSP(intptr_t reserved_space) { | 1359 void SetupDartSP(intptr_t reserved_space) { |
1360 ASSERT(Utils::IsAligned(reserved_space, 16)); | 1360 ASSERT(Utils::IsAligned(reserved_space, 16)); |
1361 mov(SP, CSP); | 1361 mov(SP, CSP); |
1362 sub(CSP, CSP, Operand(reserved_space)); | 1362 sub(CSP, CSP, Operand(reserved_space)); |
1363 } | 1363 } |
1364 | 1364 |
1365 void EnterDartFrame(intptr_t frame_size); | 1365 void EnterDartFrame(intptr_t frame_size, Register new_pp = kNoRegister); |
1366 void EnterDartFrameWithInfo(intptr_t frame_size, Register new_pp); | |
1367 void EnterOsrFrame(intptr_t extra_size, Register new_pp); | 1366 void EnterOsrFrame(intptr_t extra_size, Register new_pp); |
1368 void LeaveDartFrame(); | 1367 void LeaveDartFrame(); |
1369 | 1368 |
1370 void EnterCallRuntimeFrame(intptr_t frame_size); | 1369 void EnterCallRuntimeFrame(intptr_t frame_size); |
1371 void LeaveCallRuntimeFrame(); | 1370 void LeaveCallRuntimeFrame(); |
1372 void CallRuntime(const RuntimeEntry& entry, intptr_t argument_count); | 1371 void CallRuntime(const RuntimeEntry& entry, intptr_t argument_count); |
1373 | 1372 |
1374 // Set up a stub frame so that the stack traversal code can easily identify | 1373 // Set up a stub frame so that the stack traversal code can easily identify |
1375 // a stub frame. | 1374 // a stub frame. |
1376 void EnterStubFrame(); | 1375 void EnterStubFrame(); |
(...skipping 566 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
1943 Register value, | 1942 Register value, |
1944 Label* no_update); | 1943 Label* no_update); |
1945 | 1944 |
1946 DISALLOW_ALLOCATION(); | 1945 DISALLOW_ALLOCATION(); |
1947 DISALLOW_COPY_AND_ASSIGN(Assembler); | 1946 DISALLOW_COPY_AND_ASSIGN(Assembler); |
1948 }; | 1947 }; |
1949 | 1948 |
1950 } // namespace dart | 1949 } // namespace dart |
1951 | 1950 |
1952 #endif // VM_ASSEMBLER_ARM64_H_ | 1951 #endif // VM_ASSEMBLER_ARM64_H_ |
OLD | NEW |