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 1634 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
1645 Bind(&no_memento_found); | 1645 Bind(&no_memento_found); |
1646 } | 1646 } |
1647 | 1647 |
1648 // The stack pointer has to switch between csp and jssp when setting up and | 1648 // The stack pointer has to switch between csp and jssp when setting up and |
1649 // destroying the exit frame. Hence preserving/restoring the registers is | 1649 // destroying the exit frame. Hence preserving/restoring the registers is |
1650 // slightly more complicated than simple push/pop operations. | 1650 // slightly more complicated than simple push/pop operations. |
1651 void ExitFramePreserveFPRegs(); | 1651 void ExitFramePreserveFPRegs(); |
1652 void ExitFrameRestoreFPRegs(); | 1652 void ExitFrameRestoreFPRegs(); |
1653 | 1653 |
1654 // Generates function and stub prologue code. | 1654 // Generates function and stub prologue code. |
1655 void Prologue(CompilationInfo* info); | 1655 void StubPrologue(); |
| 1656 void Prologue(bool code_pre_aging); |
1656 | 1657 |
1657 // Enter exit frame. Exit frames are used when calling C code from generated | 1658 // Enter exit frame. Exit frames are used when calling C code from generated |
1658 // (JavaScript) code. | 1659 // (JavaScript) code. |
1659 // | 1660 // |
1660 // The stack pointer must be jssp on entry, and will be set to csp by this | 1661 // The stack pointer must be jssp on entry, and will be set to csp by this |
1661 // function. The frame pointer is also configured, but the only other | 1662 // function. The frame pointer is also configured, but the only other |
1662 // registers modified by this function are the provided scratch register, and | 1663 // registers modified by this function are the provided scratch register, and |
1663 // jssp. | 1664 // jssp. |
1664 // | 1665 // |
1665 // The 'extra_space' argument can be used to allocate some space in the exit | 1666 // The 'extra_space' argument can be used to allocate some space in the exit |
(...skipping 633 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
2299 #error "Unsupported option" | 2300 #error "Unsupported option" |
2300 #define CODE_COVERAGE_STRINGIFY(x) #x | 2301 #define CODE_COVERAGE_STRINGIFY(x) #x |
2301 #define CODE_COVERAGE_TOSTRING(x) CODE_COVERAGE_STRINGIFY(x) | 2302 #define CODE_COVERAGE_TOSTRING(x) CODE_COVERAGE_STRINGIFY(x) |
2302 #define __FILE_LINE__ __FILE__ ":" CODE_COVERAGE_TOSTRING(__LINE__) | 2303 #define __FILE_LINE__ __FILE__ ":" CODE_COVERAGE_TOSTRING(__LINE__) |
2303 #define ACCESS_MASM(masm) masm->stop(__FILE_LINE__); masm-> | 2304 #define ACCESS_MASM(masm) masm->stop(__FILE_LINE__); masm-> |
2304 #else | 2305 #else |
2305 #define ACCESS_MASM(masm) masm-> | 2306 #define ACCESS_MASM(masm) masm-> |
2306 #endif | 2307 #endif |
2307 | 2308 |
2308 #endif // V8_ARM64_MACRO_ASSEMBLER_ARM64_H_ | 2309 #endif // V8_ARM64_MACRO_ASSEMBLER_ARM64_H_ |
OLD | NEW |