< prev index next >

src/hotspot/cpu/ppc/stubRoutines_ppc.hpp

Print this page
rev 53130 : 8216060: [PPC64] Vector CRC implementation should be used by interpreter and be faster for short arrays
Reviewed-by: gromero

@@ -43,33 +43,36 @@
 #ifdef  CRC32_BYFOUR
   #define CRC32_TABLES 8
 #else
   #define CRC32_TABLES 1
 #endif
-#define CRC32_CONSTANTS_SIZE 1084
-#define CRC32_BARRET_CONSTANTS 10
+
+#define REVERSE_CRC32_POLY  0xEDB88320
+#define REVERSE_CRC32C_POLY 0x82F63B78
+#define INVERSE_REVERSE_CRC32_POLY  0x1aab14226ull
+#define INVERSE_REVERSE_CRC32C_POLY 0x105fd79bdull
+#define CRC32_UNROLL_FACTOR 2048
+#define CRC32_UNROLL_FACTOR2 8
+
 
 class ppc64 {
  friend class StubGenerator;
 
  private:
 
   // CRC32 Intrinsics.
   static juint _crc_table[CRC32_TABLES][CRC32_COLUMN_SIZE];
   static juint _crc32c_table[CRC32_TABLES][CRC32_COLUMN_SIZE];
-  static juint *_crc_constants, *_crc_barret_constants;
-  static juint *_crc32c_constants, *_crc32c_barret_constants;
+  static juint *_crc_constants;
+  static juint *_crc32c_constants;
 
  public:
 
   // CRC32 Intrinsics.
   static void generate_load_crc_table_addr(MacroAssembler* masm, Register table);
   static void generate_load_crc_constants_addr(MacroAssembler* masm, Register table);
-  static void generate_load_crc_barret_constants_addr(MacroAssembler* masm, Register table);
   static void generate_load_crc32c_table_addr(MacroAssembler* masm, Register table);
   static void generate_load_crc32c_constants_addr(MacroAssembler* masm, Register table);
-  static void generate_load_crc32c_barret_constants_addr(MacroAssembler* masm, Register table);
   static juint* generate_crc_constants(juint reverse_poly);
-  static juint* generate_crc_barret_constants(juint reverse_poly);
 };
 
 #endif // CPU_PPC_VM_STUBROUTINES_PPC_HPP
< prev index next >