17 * Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA.
18 *
19 * Please contact Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA
20 * or visit www.oracle.com if you need additional information or have any
21 * questions.
22 *
23 */
24
25 #ifndef CPU_X86_STUBROUTINES_X86_HPP
26 #define CPU_X86_STUBROUTINES_X86_HPP
27
28 // This file holds the platform specific parts of the StubRoutines
29 // definition. See stubRoutines.hpp for a description on how to
30 // extend it.
31
32 static bool returns_to_call_stub(address return_pc) { return return_pc == _call_stub_return_address; }
33
34 enum platform_dependent_constants {
35 // simply increase sizes if too small (assembler will crash if too small)
36 _initial_stubs_code_size = 20000 WINDOWS_ONLY(+1000),
37 _continuation_stubs_code_size = 1000 LP64_ONLY(+1000),
38 // AVX512 intrinsics add more code in 64-bit VM,
39 // Windows have more code to save/restore registers
40 _compiler_stubs_code_size = 20000 LP64_ONLY(+39000) WINDOWS_ONLY(+2000),
41 _final_stubs_code_size = 10000 LP64_ONLY(+20000) WINDOWS_ONLY(+2000) ZGC_ONLY(+20000)
42 };
43
44 class x86 {
45 friend class StubGenerator;
46 friend class VMStructs;
47
48 #ifdef _LP64
49 private:
50 static address _get_previous_sp_entry;
51
52 static address _f2i_fixup;
53 static address _f2l_fixup;
54 static address _d2i_fixup;
55 static address _d2l_fixup;
56
57 static address _float_sign_mask;
|
17 * Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA.
18 *
19 * Please contact Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA
20 * or visit www.oracle.com if you need additional information or have any
21 * questions.
22 *
23 */
24
25 #ifndef CPU_X86_STUBROUTINES_X86_HPP
26 #define CPU_X86_STUBROUTINES_X86_HPP
27
28 // This file holds the platform specific parts of the StubRoutines
29 // definition. See stubRoutines.hpp for a description on how to
30 // extend it.
31
32 static bool returns_to_call_stub(address return_pc) { return return_pc == _call_stub_return_address; }
33
34 enum platform_dependent_constants {
35 // simply increase sizes if too small (assembler will crash if too small)
36 _initial_stubs_code_size = 20000 WINDOWS_ONLY(+1000),
37 _continuation_stubs_code_size = 1000 LP64_ONLY(+2000),
38 // AVX512 intrinsics add more code in 64-bit VM,
39 // Windows have more code to save/restore registers
40 _compiler_stubs_code_size = 20000 LP64_ONLY(+39000) WINDOWS_ONLY(+2000),
41 _final_stubs_code_size = 10000 LP64_ONLY(+20000) WINDOWS_ONLY(+2000) ZGC_ONLY(+20000)
42 };
43
44 class x86 {
45 friend class StubGenerator;
46 friend class VMStructs;
47
48 #ifdef _LP64
49 private:
50 static address _get_previous_sp_entry;
51
52 static address _f2i_fixup;
53 static address _f2l_fixup;
54 static address _d2i_fixup;
55 static address _d2l_fixup;
56
57 static address _float_sign_mask;
|