RFR [11] 8207838: AArch64: Float registers incorrectly resture in JNI call
Andrew Haley
aph at redhat.com
Tue Aug 14 15:05:32 UTC 2018
On 08/14/2018 02:32 PM, Aleksey Shipilev wrote:
> On 08/14/2018 02:47 PM, Andrew Haley wrote:
>> When we make a JNI call with several floating-point args they are
>> pushed and then popped in the reverse order. The fix it trivial and
>> obvious and affects AArch64 only.
>>
>> The patch also affects non-AArch64 targets only in that it adds a test
>> for this case.
>>
>> OK for 11?
>>
>> https://bugs.openjdk.java.net/browse/JDK-8207838
>> http://cr.openjdk.java.net/~fyang/8207838/webrev.00/
>
> Whoops. The fix looks good for 11, but I am not the actual approver :)
>
> In the test, why do we need to call the test in separate threads? AFAIU, throwing Error from those
> threads would print them out to stderr, but it would not have other effects, e.g. changing the exit
> code of the test itself, so failures may go unnoticed. Might be better to use ExecutorService, get
> the Future<?>-s, and rethrow ExecutionExceptions.
Because the bad push/pop is only on the slow path when a lock has to
be inflated. That's why we never noticed it before.
--
Andrew Haley
Java Platform Lead Engineer
Red Hat UK Ltd. <https://www.redhat.com>
EAC8 43EB D3EF DB98 CC77 2FAD A5CD 6035 332F A671
More information about the hotspot-dev
mailing list