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

Vladimir Kozlov vladimir.kozlov at oracle.com
Fri Feb 19 17:41:07 UTC 2016


Okay. Can you add for now @requires (os.simpleArch == "x64") & (os.family != "windows")? To limit test for x64 (64 bit) 
and not windows.

Thanks,
Vladimir

On 2/19/16 8:56 AM, Vladimir Kempik wrote:
> Hello
>
> Will work on 8139907 next, but First I'll need to backport https://bugs.openjdk.java.net/browse/JDK-8130832 to jdk8 to
> make 8139907 work.
>
> Vladimir.
>
> On 19.02.2016 19:39, Vladimir Kozlov wrote:
>> Looks good. I said it before that you need to backport 8139907 too to execute tests only on platforms which have
>> intrinsic. Or use other ways to limit platforms on which execute the test.
>>
>> Thanks,
>> Vladimir
>>
>> On 2/19/16 8:28 AM, Vladimir Kempik wrote:
>>> Hello
>>>
>>> Here is updated webrev for 8130150 for jdk8.
>>>
>>> only hotspot part was updated.
>>>
>>> http://cr.openjdk.java.net/~vkempik/8130150/webrev_hs.01
>>>
>>> Changes:
>>> sharedRuntime_x86_64.cpp
>>>
>>> a) use asm volatile instead of __asm__
>>> b) don't use montgomery_square on Solaris.
>>>
>>>
>>> Testing: jprt, included testcase.
>>> THanks, Vladimir.
>>>
>>> On 19.02.2016 0:05, Vladimir Kozlov wrote:
>>>> Okay.
>>>>
>>>> On 2/18/16 12:38 PM, Vladimir Kempik wrote:
>>>>> 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