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