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

Vladimir Kozlov vladimir.kozlov at oracle.com
Thu Feb 18 20:25:58 UTC 2016

To be clear. You are proposing only the next change nothing else we discussed before. Right?

+  if (0) {
     ::montgomery_square(a, n, m, (unsigned long)inv, longwords);

What about 'volatile asm'? Using C code instead of asm?

In general I am fine with that since it looks like it is only performance issue.


On 2/18/16 4:16 AM, Vladimir Kempik wrote:
> Hello
> Vladimir Kozlov, do you think I can backport this to jdk8/7 with mentioned workaround (for solaris amd64 only) and then
> create a bug to investigate why montgomery_square fails with jdk8/7 and solaris studio 12u1 compiler ?
> It passed the jprt tests now.
> If so It's ok I'll prepare.
> Thanks.
> On 18.02.2016 14:45, Andrew Haley wrote:
>> On 02/18/2016 11:41 AM, Vladimir Kempik wrote:
>>> making this routine to always use montgomery_multiply helped to
>>> workaround the issue
>> OK, so possibly a bug in montgomery_square.  I'm not sure what
>> "helped" means, though.  I guess it doesn't mean "fixes the bug".
>> Andrew.

More information about the hotspot-compiler-dev mailing list