< prev index next >

src/cpu/x86/vm/stubRoutines_x86.cpp

Print this page




  29 #include "runtime/thread.inline.hpp"
  30 #include "crc32c.h"
  31 
  32 #ifdef _MSC_VER
  33 #define ALIGNED_(x) __declspec(align(x))
  34 #else
  35 #define ALIGNED_(x) __attribute__ ((aligned(x)))
  36 #endif
  37 
  38 // Implementation of the platform-specific part of StubRoutines - for
  39 // a description of how to extend it, see the stubRoutines.hpp file.
  40 
  41 address StubRoutines::x86::_verify_mxcsr_entry = NULL;
  42 address StubRoutines::x86::_key_shuffle_mask_addr = NULL;
  43 address StubRoutines::x86::_counter_shuffle_mask_addr = NULL;
  44 address StubRoutines::x86::_ghash_long_swap_mask_addr = NULL;
  45 address StubRoutines::x86::_ghash_byte_swap_mask_addr = NULL;
  46 address StubRoutines::x86::_upper_word_mask_addr = NULL;
  47 address StubRoutines::x86::_shuffle_byte_flip_mask_addr = NULL;
  48 address StubRoutines::x86::_k256_adr = NULL;



  49 address StubRoutines::x86::_pshuffle_byte_flip_mask_addr = NULL;
  50 
  51 //tables common for sin and cos
  52 address StubRoutines::x86::_ONEHALF_adr = NULL;
  53 address StubRoutines::x86::_P_2_adr = NULL;
  54 address StubRoutines::x86::_SC_4_adr = NULL;
  55 address StubRoutines::x86::_Ctable_adr = NULL;
  56 address StubRoutines::x86::_SC_2_adr = NULL;
  57 address StubRoutines::x86::_SC_3_adr = NULL;
  58 address StubRoutines::x86::_SC_1_adr = NULL;
  59 address StubRoutines::x86::_PI_INV_TABLE_adr = NULL;
  60 address StubRoutines::x86::_PI_4_adr = NULL;
  61 address StubRoutines::x86::_PI32INV_adr = NULL;
  62 address StubRoutines::x86::_SIGN_MASK_adr = NULL;
  63 address StubRoutines::x86::_P_1_adr = NULL;
  64 address StubRoutines::x86::_P_3_adr = NULL;
  65 address StubRoutines::x86::_NEG_ZERO_adr = NULL;
  66 
  67 //tables common for sincos and tancot
  68 address StubRoutines::x86::_L_2il0floatpacket_0_adr = NULL;


 272 
 273 ALIGNED_(64) juint StubRoutines::x86::_k256[] =
 274 {
 275     0x428a2f98UL, 0x71374491UL, 0xb5c0fbcfUL, 0xe9b5dba5UL,
 276     0x3956c25bUL, 0x59f111f1UL, 0x923f82a4UL, 0xab1c5ed5UL,
 277     0xd807aa98UL, 0x12835b01UL, 0x243185beUL, 0x550c7dc3UL,
 278     0x72be5d74UL, 0x80deb1feUL, 0x9bdc06a7UL, 0xc19bf174UL,
 279     0xe49b69c1UL, 0xefbe4786UL, 0x0fc19dc6UL, 0x240ca1ccUL,
 280     0x2de92c6fUL, 0x4a7484aaUL, 0x5cb0a9dcUL, 0x76f988daUL,
 281     0x983e5152UL, 0xa831c66dUL, 0xb00327c8UL, 0xbf597fc7UL,
 282     0xc6e00bf3UL, 0xd5a79147UL, 0x06ca6351UL, 0x14292967UL,
 283     0x27b70a85UL, 0x2e1b2138UL, 0x4d2c6dfcUL, 0x53380d13UL,
 284     0x650a7354UL, 0x766a0abbUL, 0x81c2c92eUL, 0x92722c85UL,
 285     0xa2bfe8a1UL, 0xa81a664bUL, 0xc24b8b70UL, 0xc76c51a3UL,
 286     0xd192e819UL, 0xd6990624UL, 0xf40e3585UL, 0x106aa070UL,
 287     0x19a4c116UL, 0x1e376c08UL, 0x2748774cUL, 0x34b0bcb5UL,
 288     0x391c0cb3UL, 0x4ed8aa4aUL, 0x5b9cca4fUL, 0x682e6ff3UL,
 289     0x748f82eeUL, 0x78a5636fUL, 0x84c87814UL, 0x8cc70208UL,
 290     0x90befffaUL, 0xa4506cebUL, 0xbef9a3f7UL, 0xc67178f2UL
 291 };








  29 #include "runtime/thread.inline.hpp"
  30 #include "crc32c.h"
  31 
  32 #ifdef _MSC_VER
  33 #define ALIGNED_(x) __declspec(align(x))
  34 #else
  35 #define ALIGNED_(x) __attribute__ ((aligned(x)))
  36 #endif
  37 
  38 // Implementation of the platform-specific part of StubRoutines - for
  39 // a description of how to extend it, see the stubRoutines.hpp file.
  40 
  41 address StubRoutines::x86::_verify_mxcsr_entry = NULL;
  42 address StubRoutines::x86::_key_shuffle_mask_addr = NULL;
  43 address StubRoutines::x86::_counter_shuffle_mask_addr = NULL;
  44 address StubRoutines::x86::_ghash_long_swap_mask_addr = NULL;
  45 address StubRoutines::x86::_ghash_byte_swap_mask_addr = NULL;
  46 address StubRoutines::x86::_upper_word_mask_addr = NULL;
  47 address StubRoutines::x86::_shuffle_byte_flip_mask_addr = NULL;
  48 address StubRoutines::x86::_k256_adr = NULL;
  49 #ifdef _LP64
  50 address StubRoutines::x86::_k256_W_adr = NULL;
  51 #endif
  52 address StubRoutines::x86::_pshuffle_byte_flip_mask_addr = NULL;
  53 
  54 //tables common for sin and cos
  55 address StubRoutines::x86::_ONEHALF_adr = NULL;
  56 address StubRoutines::x86::_P_2_adr = NULL;
  57 address StubRoutines::x86::_SC_4_adr = NULL;
  58 address StubRoutines::x86::_Ctable_adr = NULL;
  59 address StubRoutines::x86::_SC_2_adr = NULL;
  60 address StubRoutines::x86::_SC_3_adr = NULL;
  61 address StubRoutines::x86::_SC_1_adr = NULL;
  62 address StubRoutines::x86::_PI_INV_TABLE_adr = NULL;
  63 address StubRoutines::x86::_PI_4_adr = NULL;
  64 address StubRoutines::x86::_PI32INV_adr = NULL;
  65 address StubRoutines::x86::_SIGN_MASK_adr = NULL;
  66 address StubRoutines::x86::_P_1_adr = NULL;
  67 address StubRoutines::x86::_P_3_adr = NULL;
  68 address StubRoutines::x86::_NEG_ZERO_adr = NULL;
  69 
  70 //tables common for sincos and tancot
  71 address StubRoutines::x86::_L_2il0floatpacket_0_adr = NULL;


 275 
 276 ALIGNED_(64) juint StubRoutines::x86::_k256[] =
 277 {
 278     0x428a2f98UL, 0x71374491UL, 0xb5c0fbcfUL, 0xe9b5dba5UL,
 279     0x3956c25bUL, 0x59f111f1UL, 0x923f82a4UL, 0xab1c5ed5UL,
 280     0xd807aa98UL, 0x12835b01UL, 0x243185beUL, 0x550c7dc3UL,
 281     0x72be5d74UL, 0x80deb1feUL, 0x9bdc06a7UL, 0xc19bf174UL,
 282     0xe49b69c1UL, 0xefbe4786UL, 0x0fc19dc6UL, 0x240ca1ccUL,
 283     0x2de92c6fUL, 0x4a7484aaUL, 0x5cb0a9dcUL, 0x76f988daUL,
 284     0x983e5152UL, 0xa831c66dUL, 0xb00327c8UL, 0xbf597fc7UL,
 285     0xc6e00bf3UL, 0xd5a79147UL, 0x06ca6351UL, 0x14292967UL,
 286     0x27b70a85UL, 0x2e1b2138UL, 0x4d2c6dfcUL, 0x53380d13UL,
 287     0x650a7354UL, 0x766a0abbUL, 0x81c2c92eUL, 0x92722c85UL,
 288     0xa2bfe8a1UL, 0xa81a664bUL, 0xc24b8b70UL, 0xc76c51a3UL,
 289     0xd192e819UL, 0xd6990624UL, 0xf40e3585UL, 0x106aa070UL,
 290     0x19a4c116UL, 0x1e376c08UL, 0x2748774cUL, 0x34b0bcb5UL,
 291     0x391c0cb3UL, 0x4ed8aa4aUL, 0x5b9cca4fUL, 0x682e6ff3UL,
 292     0x748f82eeUL, 0x78a5636fUL, 0x84c87814UL, 0x8cc70208UL,
 293     0x90befffaUL, 0xa4506cebUL, 0xbef9a3f7UL, 0xc67178f2UL
 294 };
 295 
 296 #ifdef _LP64
 297 // used in MacroAssembler::sha256_AVX2
 298 // dynamically built from _k256 
 299 ALIGNED_(64) juint StubRoutines::x86::_k256_W[2*sizeof(StubRoutines::x86::_k256)];
 300 #endif
< prev index next >