RFR :7088419 : (L) Use x86 Hardware CRC32 Instruction with java.util.zip.CRC32 and java.util.zip.Adler32

Mike Duigou mike.duigou at oracle.com
Thu May 16 22:16:49 UTC 2013

On May 16 2013, at 10:31 , David Chase wrote:

> On 2013-05-16, at 12:17 PM, Mike Duigou <mike.duigou at oracle.com> wrote:
>> I haven't looked at the details for the PCLMULQDQ instruction but a caryless multiply could be of use to some of the crypto primitives as well (GHASH, GMAC and probably others). Perhaps the property could be "sun.hotspot.x64.clmulSupported" or something less specific to the usage.
> Note that the instruction also works on 32-bit, and once the builds all use sufficiently modern compilers, the same source code works for both.

Understood, but it's only going to be available on processors that support also support EMT64, correct? I am not sure what the best way to characterize the required architecture should be.

>> What's our actual experience with needing switches like -XX:-UseCLMUL or-XX:-UseAVX for other features? Faulty implementations? Feature misreporting? Performance regressions? Virtualization interactions?
> I haven't seen any virtualization problems -- I've also been testing on VMs, Ubuntu and Solaris on VMWare.
> Should I also give it a go in VirtualBox?  What should I be looking for?

I don't know of any specific problems but was more curious whether we really need the ability to disable the feature. Have we seen problems in the past?

> David

More information about the core-libs-dev mailing list