< prev index next >

src/hotspot/cpu/x86/stubRoutines_x86.hpp

Print this page

 38 
 39 class x86 {
 40  friend class StubGenerator;
 41  friend class VMStructs;
 42 
 43 #ifdef _LP64
 44  private:
 45   static address _get_previous_fp_entry;
 46   static address _get_previous_sp_entry;
 47 
 48   static address _f2i_fixup;
 49   static address _f2l_fixup;
 50   static address _d2i_fixup;
 51   static address _d2l_fixup;
 52 
 53   static address _float_sign_mask;
 54   static address _float_sign_flip;
 55   static address _double_sign_mask;
 56   static address _double_sign_flip;
 57 
 58   static address _method_entry_barrier;
 59 
 60  public:
 61 
 62   static address method_entry_barrier() {
 63     return _method_entry_barrier;
 64   }
 65 
 66   static address get_previous_fp_entry() {
 67     return _get_previous_fp_entry;
 68   }
 69 
 70   static address get_previous_sp_entry() {
 71     return _get_previous_sp_entry;
 72   }
 73 
 74   static address f2i_fixup() {
 75     return _f2i_fixup;
 76   }
 77 
 78   static address f2l_fixup() {
 79     return _f2l_fixup;
 80   }
 81 
 82   static address d2i_fixup() {
 83     return _d2i_fixup;
 84   }
 85 

104   }
105 
106 #else // !LP64
107 
108  private:
109   static address _verify_fpu_cntrl_wrd_entry;
110 
111  public:
112   static address verify_fpu_cntrl_wrd_entry() { return _verify_fpu_cntrl_wrd_entry; }
113 
114 #endif // !LP64
115 
116  private:
117   static address _verify_mxcsr_entry;
118   // shuffle mask for fixing up 128-bit words consisting of big-endian 32-bit integers
119   static address _key_shuffle_mask_addr;
120 
121   //shuffle mask for big-endian 128-bit integers
122   static address _counter_shuffle_mask_addr;
123 


124   // masks and table for CRC32
125   static uint64_t _crc_by128_masks[];
126   static juint    _crc_table[];
127   // table for CRC32C
128   static juint* _crc32c_table;
129   // swap mask for ghash
130   static address _ghash_long_swap_mask_addr;
131   static address _ghash_byte_swap_mask_addr;
132   static address _ghash_poly_addr;
133   static address _ghash_shuffmask_addr;
134 
135   // upper word mask for sha1
136   static address _upper_word_mask_addr;
137   // byte flip mask for sha1
138   static address _shuffle_byte_flip_mask_addr;
139 
140   //k256 table for sha256
141   static juint _k256[];
142   static address _k256_adr;
143   static address _vector_short_to_byte_mask;

204   static address _Pi4Inv_adr;
205   static juint _Pi4x3[];
206   static address _Pi4x3_adr;
207   static juint _Pi4x4[];
208   static address _Pi4x4_adr;
209   static juint _ones[];
210   static address _ones_adr;
211 
212  public:
213   static address verify_mxcsr_entry()    { return _verify_mxcsr_entry; }
214   static address key_shuffle_mask_addr() { return _key_shuffle_mask_addr; }
215   static address counter_shuffle_mask_addr() { return _counter_shuffle_mask_addr; }
216   static address crc_by128_masks_addr()  { return (address)_crc_by128_masks; }
217   static address ghash_long_swap_mask_addr() { return _ghash_long_swap_mask_addr; }
218   static address ghash_byte_swap_mask_addr() { return _ghash_byte_swap_mask_addr; }
219   static address ghash_shufflemask_addr() { return _ghash_shuffmask_addr; }
220   static address ghash_polynomial_addr() { return _ghash_poly_addr; }
221   static address upper_word_mask_addr() { return _upper_word_mask_addr; }
222   static address shuffle_byte_flip_mask_addr() { return _shuffle_byte_flip_mask_addr; }
223   static address k256_addr()      { return _k256_adr; }

224 
225   static address vector_short_to_byte_mask() {
226     return _vector_short_to_byte_mask;
227   }
228   static address vector_float_sign_mask() {
229     return _vector_float_sign_mask;
230   }
231 
232   static address vector_float_sign_flip() {
233     return _vector_float_sign_flip;
234   }
235 
236   static address vector_double_sign_mask() {
237     return _vector_double_sign_mask;
238   }
239 
240   static address vector_double_sign_flip() {
241     return _vector_double_sign_flip;
242   }
243 

 38 
 39 class x86 {
 40  friend class StubGenerator;
 41  friend class VMStructs;
 42 
 43 #ifdef _LP64
 44  private:
 45   static address _get_previous_fp_entry;
 46   static address _get_previous_sp_entry;
 47 
 48   static address _f2i_fixup;
 49   static address _f2l_fixup;
 50   static address _d2i_fixup;
 51   static address _d2l_fixup;
 52 
 53   static address _float_sign_mask;
 54   static address _float_sign_flip;
 55   static address _double_sign_mask;
 56   static address _double_sign_flip;
 57 


 58  public:
 59 




 60   static address get_previous_fp_entry() {
 61     return _get_previous_fp_entry;
 62   }
 63 
 64   static address get_previous_sp_entry() {
 65     return _get_previous_sp_entry;
 66   }
 67 
 68   static address f2i_fixup() {
 69     return _f2i_fixup;
 70   }
 71 
 72   static address f2l_fixup() {
 73     return _f2l_fixup;
 74   }
 75 
 76   static address d2i_fixup() {
 77     return _d2i_fixup;
 78   }
 79 

 98   }
 99 
100 #else // !LP64
101 
102  private:
103   static address _verify_fpu_cntrl_wrd_entry;
104 
105  public:
106   static address verify_fpu_cntrl_wrd_entry() { return _verify_fpu_cntrl_wrd_entry; }
107 
108 #endif // !LP64
109 
110  private:
111   static address _verify_mxcsr_entry;
112   // shuffle mask for fixing up 128-bit words consisting of big-endian 32-bit integers
113   static address _key_shuffle_mask_addr;
114 
115   //shuffle mask for big-endian 128-bit integers
116   static address _counter_shuffle_mask_addr;
117 
118   static address _method_entry_barrier;
119 
120   // masks and table for CRC32
121   static uint64_t _crc_by128_masks[];
122   static juint    _crc_table[];
123   // table for CRC32C
124   static juint* _crc32c_table;
125   // swap mask for ghash
126   static address _ghash_long_swap_mask_addr;
127   static address _ghash_byte_swap_mask_addr;
128   static address _ghash_poly_addr;
129   static address _ghash_shuffmask_addr;
130 
131   // upper word mask for sha1
132   static address _upper_word_mask_addr;
133   // byte flip mask for sha1
134   static address _shuffle_byte_flip_mask_addr;
135 
136   //k256 table for sha256
137   static juint _k256[];
138   static address _k256_adr;
139   static address _vector_short_to_byte_mask;

200   static address _Pi4Inv_adr;
201   static juint _Pi4x3[];
202   static address _Pi4x3_adr;
203   static juint _Pi4x4[];
204   static address _Pi4x4_adr;
205   static juint _ones[];
206   static address _ones_adr;
207 
208  public:
209   static address verify_mxcsr_entry()    { return _verify_mxcsr_entry; }
210   static address key_shuffle_mask_addr() { return _key_shuffle_mask_addr; }
211   static address counter_shuffle_mask_addr() { return _counter_shuffle_mask_addr; }
212   static address crc_by128_masks_addr()  { return (address)_crc_by128_masks; }
213   static address ghash_long_swap_mask_addr() { return _ghash_long_swap_mask_addr; }
214   static address ghash_byte_swap_mask_addr() { return _ghash_byte_swap_mask_addr; }
215   static address ghash_shufflemask_addr() { return _ghash_shuffmask_addr; }
216   static address ghash_polynomial_addr() { return _ghash_poly_addr; }
217   static address upper_word_mask_addr() { return _upper_word_mask_addr; }
218   static address shuffle_byte_flip_mask_addr() { return _shuffle_byte_flip_mask_addr; }
219   static address k256_addr()      { return _k256_adr; }
220   static address method_entry_barrier() { return _method_entry_barrier; }
221 
222   static address vector_short_to_byte_mask() {
223     return _vector_short_to_byte_mask;
224   }
225   static address vector_float_sign_mask() {
226     return _vector_float_sign_mask;
227   }
228 
229   static address vector_float_sign_flip() {
230     return _vector_float_sign_flip;
231   }
232 
233   static address vector_double_sign_mask() {
234     return _vector_double_sign_mask;
235   }
236 
237   static address vector_double_sign_flip() {
238     return _vector_double_sign_flip;
239   }
240 
< prev index next >