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