< 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 >