[8u] RFR 8130150: Implement BigInteger.montgomeryMultiply intrinsic

Vladimir Kempik vladimir.kempik at oracle.com
Mon Feb 15 13:06:24 UTC 2016


Sorry I spoke too soon last friday.

Not all tests pass.

On solaris x64 the testcase fails, also BigIntegerTest and ModPow65537 
tests  failed.

I've changed asm to asm volatile for MACC and MACC2 and tried solaris 
x64 again.

Now the testcase pass, ModPow65537 pass. BigIntegerTest still fails, but 
only partially:

java BigIntegerTest
Mersenne prime 3 failed.
Mersenne prime 4 failed.
Mersenne prime 5 failed.
Mersenne prime 6 failed.
Prime: Failed(4)
nextProbablePrime: Passed
Arithmetic I for 100 bits: Passed
Arithmetic II for 100 bits: Passed
Arithmetic I for 2760 bits: Passed
Do you have a clue what else could be missing for solaris x64?
Is asm volatile safe for MACC and MACC2 or better to keep it volatile 
only for solaris x64?

Thanks, Vladimir.

On 13.02.2016 3:35, Vladimir Kozlov wrote:
> Hotspot changes looks good to me.
> Thanks,
> Vladimir
> On 2/12/16 10:29 AM, Vladimir Kempik wrote:
>> Hello
>> Please review this backport of 8130150 to jdk8u.
>> Implement BigInteger.montgomeryMultiply intrinsic
>> The patch didn't apply cleanly, some changes were needed. Most of 
>> them are just to make patch apply, except one.
>> for MACC and MACC2 defines, __asm__ were changed to asm, to make 
>> solaris compiler (SS12U1) happy.
>> The patch has two parts, for jdk and hotspot.
>> Testing: jprt, testcase.
>> Bug:https://bugs.openjdk.java.net/browse/JDK-8130150
>> Webrev:http://cr.openjdk.java.net/~vkempik/8130150/webrev_hs.00/
>> Thanks
>> -Vladimir

More information about the hotspot-compiler-dev mailing list