20 * 21 * Please contact Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA 22 * or visit www.oracle.com if you need additional information or have any 23 * questions. 24 * 25 */ 26 27 #ifndef CPU_AARCH64_VM_GLOBALDEFINITIONS_AARCH64_HPP 28 #define CPU_AARCH64_VM_GLOBALDEFINITIONS_AARCH64_HPP 29 30 const int StackAlignmentInBytes = 16; 31 32 // Indicates whether the C calling conventions require that 33 // 32-bit integer argument values are properly extended to 64 bits. 34 // If set, SharedRuntime::c_calling_convention() must adapt 35 // signatures accordingly. 36 const bool CCallingConventionRequiresIntsAsLongs = true; 37 38 #define SUPPORTS_NATIVE_CX8 39 40 // The maximum B/BL offset range on AArch64 is 128MB 41 #undef CODE_CACHE_SIZE_LIMIT 42 #define CODE_CACHE_SIZE_LIMIT (128*M) 43 44 // According to the ARMv8 ARM, "Concurrent modification and execution 45 // of instructions can lead to the resulting instruction performing 46 // any behavior that can be achieved by executing any sequence of 47 // instructions that can be executed from the same Exception level, 48 // except where the instruction before modification and the 49 // instruction after modification is a B, BL, NOP, BKPT, SVC, HVC, or 50 // SMC instruction." 51 // 52 // This makes the games we play when patching difficult, so when we 53 // come across an access that needs patching we deoptimize. There are 54 // ways we can avoid this, but these would slow down C1-compiled code 55 // in the defauilt case. We could revisit this decision if we get any 56 // evidence that it's worth doing. 57 #define DEOPTIMIZE_WHEN_PATCHING 58 59 #endif // CPU_AARCH64_VM_GLOBALDEFINITIONS_AARCH64_HPP | 20 * 21 * Please contact Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA 22 * or visit www.oracle.com if you need additional information or have any 23 * questions. 24 * 25 */ 26 27 #ifndef CPU_AARCH64_VM_GLOBALDEFINITIONS_AARCH64_HPP 28 #define CPU_AARCH64_VM_GLOBALDEFINITIONS_AARCH64_HPP 29 30 const int StackAlignmentInBytes = 16; 31 32 // Indicates whether the C calling conventions require that 33 // 32-bit integer argument values are properly extended to 64 bits. 34 // If set, SharedRuntime::c_calling_convention() must adapt 35 // signatures accordingly. 36 const bool CCallingConventionRequiresIntsAsLongs = true; 37 38 #define SUPPORTS_NATIVE_CX8 39 40 // The maximum B/BL offset range on AArch64 is 128MB. 41 #undef CODE_CACHE_DEFAULT_LIMIT 42 #define CODE_CACHE_DEFAULT_LIMIT (128*M) 43 44 // According to the ARMv8 ARM, "Concurrent modification and execution 45 // of instructions can lead to the resulting instruction performing 46 // any behavior that can be achieved by executing any sequence of 47 // instructions that can be executed from the same Exception level, 48 // except where the instruction before modification and the 49 // instruction after modification is a B, BL, NOP, BKPT, SVC, HVC, or 50 // SMC instruction." 51 // 52 // This makes the games we play when patching difficult, so when we 53 // come across an access that needs patching we deoptimize. There are 54 // ways we can avoid this, but these would slow down C1-compiled code 55 // in the defauilt case. We could revisit this decision if we get any 56 // evidence that it's worth doing. 57 #define DEOPTIMIZE_WHEN_PATCHING 58 59 #endif // CPU_AARCH64_VM_GLOBALDEFINITIONS_AARCH64_HPP |