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

Vladimir Kempik vladimir.kempik at oracle.com
Thu Feb 18 20:38:02 UTC 2016


Hello

To be clear. 

I'm proposing :
1)if(0), only for Solaris (via ifdef Solaris )
2)volatile asm. 

That is the combination that passes all jprt tests.

I'll prepare updated webrev a bit later this week.
Vladimir.

Отправлено с iPad

> 18 февр. 2016 г., в 23:25, Vladimir Kozlov <vladimir.kozlov at oracle.com> написал(а):
> 
> To be clear. You are proposing only the next change nothing else we discussed before. Right?
> 
> -  if (len >= MONTGOMERY_SQUARING_THRESHOLD) {
> +  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.
> 
> Thanks,
> Vladimir
> 
>> 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