RFR :7088419 : (L) Use x86 Hardware CRC32 Instruction with java.util.zip.CRC32 and java.util.zip.Adler32
Vladimir Kozlov
vladimir.kozlov at oracle.com
Thu May 23 10:29:53 PDT 2013
On 5/23/13 10:19 AM, David Chase wrote:
>
> On 2013-05-23, at 12:24 PM, Vladimir Kozlov <vladimir.kozlov at oracle.com> wrote:
>> I spent some time yesterday reading through your CRC code to understand what we need to do to intrinsify it. I will continue work on it today. We would need to move whole fastcrc32 into VM together with K_struct and crc_table table (first 256 entries). We can not intrinsify part of native (C) code.
>
> There's this tricky bit where you have to get the K_struct table stored on a 16-byte alignment, don't miss that.
Yes, I noticed. We have the same issue with AES:
address generate_key_shuffle_mask() {
__ align(16);
StubCodeMark mark(this, "StubRoutines", "key_shuffle_mask");
address start = __ pc();
__ emit_data64( 0x0405060700010203, relocInfo::none );
__ emit_data64( 0x0c0d0e0f08090a0b, relocInfo::none );
return start;
}
Vladimir
>
> David
>
More information about the hotspot-compiler-dev
mailing list