< prev index next >
src/hotspot/cpu/ppc/stubRoutines_ppc.hpp
Print this page
rev 53441 : 8217459: [PPC64] Cleanup non-vector version of CRC32
Reviewed-by:
*** 36,76 ****
code_size1 = 20000, // simply increase if too small (assembler will crash if too small)
code_size2 = 24000 // simply increase if too small (assembler will crash if too small)
};
// CRC32 Intrinsics.
! #define CRC32_COLUMN_SIZE 256
! #define CRC32_BYFOUR
! #ifdef CRC32_BYFOUR
! #define CRC32_TABLES 8
! #else
! #define CRC32_TABLES 1
! #endif
!
#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;
! static juint *_crc32c_constants;
!
! public:
!
! // CRC32 Intrinsics.
! static address crc_constants() { return (address)_crc_constants; }
! static address crc32c_constants() { return (address)_crc32c_constants; }
! static juint* generate_crc_constants(juint reverse_poly);
! };
#endif // CPU_PPC_STUBROUTINES_PPC_HPP
--- 36,51 ----
code_size1 = 20000, // simply increase if too small (assembler will crash if too small)
code_size2 = 24000 // simply increase if too small (assembler will crash if too small)
};
// CRC32 Intrinsics.
! #define CRC32_TABLE_SIZE (4 * 256)
#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
! static address generate_crc_constants(juint reverse_poly);
#endif // CPU_PPC_STUBROUTINES_PPC_HPP
< prev index next >