| OLD | NEW |
| 1 // Copyright 2013 the V8 project authors. All rights reserved. | 1 // Copyright 2013 the V8 project authors. All rights reserved. |
| 2 // Use of this source code is governed by a BSD-style license that can be | 2 // Use of this source code is governed by a BSD-style license that can be |
| 3 // found in the LICENSE file. | 3 // found in the LICENSE file. |
| 4 | 4 |
| 5 #ifndef V8_ARM64_MACRO_ASSEMBLER_ARM64_H_ | 5 #ifndef V8_ARM64_MACRO_ASSEMBLER_ARM64_H_ |
| 6 #define V8_ARM64_MACRO_ASSEMBLER_ARM64_H_ | 6 #define V8_ARM64_MACRO_ASSEMBLER_ARM64_H_ |
| 7 | 7 |
| 8 #include <vector> | 8 #include <vector> |
| 9 | 9 |
| 10 #include "v8globals.h" | 10 #include "v8globals.h" |
| (...skipping 760 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 771 Bic(csp, StackPointer(), sp_alignment - 1); | 771 Bic(csp, StackPointer(), sp_alignment - 1); |
| 772 SetStackPointer(csp); | 772 SetStackPointer(csp); |
| 773 } | 773 } |
| 774 | 774 |
| 775 // Push the system stack pointer (csp) down to allow the same to be done to | 775 // Push the system stack pointer (csp) down to allow the same to be done to |
| 776 // the current stack pointer (according to StackPointer()). This must be | 776 // the current stack pointer (according to StackPointer()). This must be |
| 777 // called _before_ accessing the memory. | 777 // called _before_ accessing the memory. |
| 778 // | 778 // |
| 779 // This is necessary when pushing or otherwise adding things to the stack, to | 779 // This is necessary when pushing or otherwise adding things to the stack, to |
| 780 // satisfy the AAPCS64 constraint that the memory below the system stack | 780 // satisfy the AAPCS64 constraint that the memory below the system stack |
| 781 // pointer is not accessed. | 781 // pointer is not accessed. The amount pushed will be increased as necessary |
| 782 // to ensure csp remains aligned to 16 bytes. |
| 782 // | 783 // |
| 783 // This method asserts that StackPointer() is not csp, since the call does | 784 // This method asserts that StackPointer() is not csp, since the call does |
| 784 // not make sense in that context. | 785 // not make sense in that context. |
| 785 inline void BumpSystemStackPointer(const Operand& space); | 786 inline void BumpSystemStackPointer(const Operand& space); |
| 786 | 787 |
| 788 // Re-synchronizes the system stack pointer (csp) with the current stack |
| 789 // pointer (according to StackPointer()). This function will ensure the |
| 790 // new value of the system stack pointer is remains aligned to 16 bytes, and |
| 791 // is lower than or equal to the value of the current stack pointer. |
| 792 // |
| 793 // This method asserts that StackPointer() is not csp, since the call does |
| 794 // not make sense in that context. |
| 795 inline void SyncSystemStackPointer(); |
| 796 |
| 787 // Helpers ------------------------------------------------------------------ | 797 // Helpers ------------------------------------------------------------------ |
| 788 // Root register. | 798 // Root register. |
| 789 inline void InitializeRootRegister(); | 799 inline void InitializeRootRegister(); |
| 790 | 800 |
| 791 // Load an object from the root table. | 801 // Load an object from the root table. |
| 792 void LoadRoot(CPURegister destination, | 802 void LoadRoot(CPURegister destination, |
| 793 Heap::RootListIndex index); | 803 Heap::RootListIndex index); |
| 794 // Store an object to the root table. | 804 // Store an object to the root table. |
| 795 void StoreRoot(Register source, | 805 void StoreRoot(Register source, |
| 796 Heap::RootListIndex index); | 806 Heap::RootListIndex index); |
| (...skipping 1487 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 2284 #error "Unsupported option" | 2294 #error "Unsupported option" |
| 2285 #define CODE_COVERAGE_STRINGIFY(x) #x | 2295 #define CODE_COVERAGE_STRINGIFY(x) #x |
| 2286 #define CODE_COVERAGE_TOSTRING(x) CODE_COVERAGE_STRINGIFY(x) | 2296 #define CODE_COVERAGE_TOSTRING(x) CODE_COVERAGE_STRINGIFY(x) |
| 2287 #define __FILE_LINE__ __FILE__ ":" CODE_COVERAGE_TOSTRING(__LINE__) | 2297 #define __FILE_LINE__ __FILE__ ":" CODE_COVERAGE_TOSTRING(__LINE__) |
| 2288 #define ACCESS_MASM(masm) masm->stop(__FILE_LINE__); masm-> | 2298 #define ACCESS_MASM(masm) masm->stop(__FILE_LINE__); masm-> |
| 2289 #else | 2299 #else |
| 2290 #define ACCESS_MASM(masm) masm-> | 2300 #define ACCESS_MASM(masm) masm-> |
| 2291 #endif | 2301 #endif |
| 2292 | 2302 |
| 2293 #endif // V8_ARM64_MACRO_ASSEMBLER_ARM64_H_ | 2303 #endif // V8_ARM64_MACRO_ASSEMBLER_ARM64_H_ |
| OLD | NEW |