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 = 22000 // 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 _verify_mxcsr_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 static address _mxcsr_std;
56
57 public:
58
59 static address get_previous_fp_entry()
60 {
61 return _get_previous_fp_entry;
62 }
63
64 static address verify_mxcsr_entry()
65 {
66 return _verify_mxcsr_entry;
67 }
68
69 static address f2i_fixup()
70 {
71 return _f2i_fixup;
72 }
73
74 static address f2l_fixup()
75 {
76 return _f2l_fixup;
77 }
78
79 static address d2i_fixup()
80 {
81 return _d2i_fixup;
|
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 = 22000 // 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 static address _verify_mxcsr_entry;
46
47 static address _f2i_fixup;
48 static address _f2l_fixup;
49 static address _d2i_fixup;
50 static address _d2l_fixup;
51
52 static address _float_sign_mask;
53 static address _float_sign_flip;
54 static address _double_sign_mask;
55 static address _double_sign_flip;
56 static address _mxcsr_std;
57
58 public:
59
60 static address get_previous_fp_entry()
61 {
62 return _get_previous_fp_entry;
63 }
64
65 static address get_previous_sp_entry()
66 {
67 return _get_previous_sp_entry;
68 }
69
70 static address verify_mxcsr_entry()
71 {
72 return _verify_mxcsr_entry;
73 }
74
75 static address f2i_fixup()
76 {
77 return _f2i_fixup;
78 }
79
80 static address f2l_fixup()
81 {
82 return _f2l_fixup;
83 }
84
85 static address d2i_fixup()
86 {
87 return _d2i_fixup;
|