43 #ifdef CRC32_BYFOUR |
43 #ifdef CRC32_BYFOUR |
44 #define CRC32_TABLES 8 |
44 #define CRC32_TABLES 8 |
45 #else |
45 #else |
46 #define CRC32_TABLES 1 |
46 #define CRC32_TABLES 1 |
47 #endif |
47 #endif |
|
48 #define CRC32_CONSTANTS_SIZE 1084 |
|
49 #define CRC32_BARRET_CONSTANTS 10 |
48 |
50 |
49 class ppc64 { |
51 class ppc64 { |
50 friend class StubGenerator; |
52 friend class StubGenerator; |
51 |
53 |
52 private: |
54 private: |
53 |
55 |
54 // CRC32 Intrinsics. |
56 // CRC32 Intrinsics. |
55 static juint _crc_table[CRC32_TABLES][CRC32_COLUMN_SIZE]; |
57 static juint _crc_table[CRC32_TABLES][CRC32_COLUMN_SIZE]; |
|
58 static juint* _constants; |
|
59 static juint* _barret_constants; |
56 |
60 |
57 public: |
61 public: |
58 |
62 |
59 // CRC32 Intrinsics. |
63 // CRC32 Intrinsics. |
60 static void generate_load_crc_table_addr(MacroAssembler* masm, Register table); |
64 static void generate_load_crc_table_addr(MacroAssembler* masm, Register table); |
|
65 static void generate_load_crc_constants_addr(MacroAssembler* masm, Register table); |
|
66 static void generate_load_crc_barret_constants_addr(MacroAssembler* masm, Register table); |
|
67 static juint* generate_crc_constants(); |
|
68 static juint* generate_crc_barret_constants(); |
61 |
69 |
62 }; |
70 }; |
63 |
71 |
64 #endif // CPU_PPC_VM_STUBROUTINES_PPC_64_HPP |
72 #endif // CPU_PPC_VM_STUBROUTINES_PPC_64_HPP |