[8u-dev] RFA 8130150: Implement BigInteger.montgomeryMultiply intrinsic

Vladimir Kozlov vladimir.kozlov at oracle.com
Fri Feb 19 18:24:10 UTC 2016


Changes are reviewed. There is difference from jdk9 because of issue with code generated by SunStudio C++ version used 
to build jdk 8u and 7u. As result next changes where made:

+  //montgomery_square fails to pass BigIntegerTest on solaris amd64
+  //on jdk7 and jdk8.
+#ifndef SOLARIS
    if (len >= MONTGOMERY_SQUARING_THRESHOLD) {
+#else
+  if (0) {
+#endif
      ::montgomery_square(a, n, m, (unsigned long)inv, longwords);

Note, this change is fine since it affects only performance for some range of values.
Separate bug is filed to resolve this issue later.

Thanks,
Vladimir

On 2/19/16 9:29 AM, Vladimir Kempik wrote:
> Hello
>
> I'd like to port this fix into 8u-dev.
>
> Implement BigInteger.montgomeryMultiply intrinsic
>
> The patch has two parts, for jdk and hotspot.
>
> Testing: jprt, testcase.
>
> Bug:https://bugs.openjdk.java.net/browse/JDK-8130150
> Webrev for hotspot:http://cr.openjdk.java.net/~vkempik/8130150/webrev_hs.01/
> Webrev for jdk: http://cr.openjdk.java.net/~vkempik/8130150/webrev_jdk.00/
> Review thread: http://mail.openjdk.java.net/pipermail/hotspot-compiler-dev/2016-February/021321.html
>
> Thanks
> -Vladimir
>


More information about the jdk8u-dev mailing list