< prev index next >

src/hotspot/cpu/x86/stubRoutines_x86.cpp

Print this page
@@ -43,10 +43,21 @@
  STUBGEN_ARCH_ENTRIES_DO(DEFINE_ARCH_ENTRY, DEFINE_ARCH_ENTRY_INIT)
  
  #undef DEFINE_ARCH_ENTRY_INIT
  #undef DEFINE_ARCH_ENTRY
  
+ address StubRoutines::crc_table_addr() {
+   return (address)StubRoutines::x86::_crc_table;
+ }
+ address StubRoutines::crc32c_table_addr() {
+   if (StubRoutines::x86::_crc32c_table == nullptr) {
+     bool supports_clmul = VM_Version::supports_clmul();
+     StubRoutines::x86::generate_CRC32C_table(supports_clmul);
+   }
+   return (address)StubRoutines::x86::_crc32c_table;
+ }
+ 
  address StubRoutines::x86::_k256_adr = nullptr;
  address StubRoutines::x86::_k256_W_adr = nullptr;
  address StubRoutines::x86::_k512_W_addr = nullptr;
  
  const uint64_t StubRoutines::x86::_crc_by128_masks[] =

@@ -289,11 +300,11 @@
    }
  
    return result;
  }
  
- juint *StubRoutines::x86::_crc32c_table;
+ juint* StubRoutines::x86::_crc32c_table = nullptr;
  
  void StubRoutines::x86::generate_CRC32C_table(bool is_pclmulqdq_table_supported) {
  
    static juint pow_n[CRC32C_NUM_PRECOMPUTED_CONSTANTS];
  
< prev index next >