[8u] RFR 8130150: Implement BigInteger.montgomeryMultiply intrinsic
vladimir.kozlov at oracle.com
Mon Feb 15 20:17:52 UTC 2016
Do all these tests pass with jdk9?
I would suggest to run slowdebug and fastdebug to see if optimization level has affect. then it is definitely compiler bug.
Andrew can we make MACC and MACC2 as method (with force inline) instead of macros?
Vladimir, you may need to backport JDK-8139907.
On 2/15/16 5:06 AM, Vladimir Kempik wrote:
> 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.
>> On 2/12/16 10:29 AM, Vladimir Kempik wrote:
>>> 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.
More information about the hotspot-compiler-dev