16 * 2 along with this work; if not, write to the Free Software Foundation,
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_VM_STUBROUTINES_X86_64_HPP
26 #define CPU_X86_VM_STUBROUTINES_X86_64_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 code_size1 = 19000, // simply increase if too small (assembler will crash if too small)
36 code_size2 = 23000 // simply increase if too small (assembler will crash if too small)
37 };
38
39 class x86 {
40 friend class StubGenerator;
41
42 private:
43 static address _get_previous_fp_entry;
44 static address _get_previous_sp_entry;
45
46 static address _f2i_fixup;
47 static address _f2l_fixup;
48 static address _d2i_fixup;
49 static address _d2l_fixup;
50
51 static address _float_sign_mask;
52 static address _float_sign_flip;
53 static address _double_sign_mask;
54 static address _double_sign_flip;
55
56 public:
|
16 * 2 along with this work; if not, write to the Free Software Foundation,
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_VM_STUBROUTINES_X86_64_HPP
26 #define CPU_X86_VM_STUBROUTINES_X86_64_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 code_size1 = 19000, // simply increase if too small (assembler will crash if too small)
36 code_size2 = 24000 // simply increase if too small (assembler will crash if too small)
37 };
38
39 class x86 {
40 friend class StubGenerator;
41
42 private:
43 static address _get_previous_fp_entry;
44 static address _get_previous_sp_entry;
45
46 static address _f2i_fixup;
47 static address _f2l_fixup;
48 static address _d2i_fixup;
49 static address _d2l_fixup;
50
51 static address _float_sign_mask;
52 static address _float_sign_flip;
53 static address _double_sign_mask;
54 static address _double_sign_flip;
55
56 public:
|