RFR/RFC [8u]: Enable weak JNI handling with Shenandoah after JDK-8176100
Roman Kennke
roman at kennke.org
Mon May 27 17:52:06 UTC 2019
>>> Looks like we've got a clash between rscratch1 used in
>>> g1_write_barrier_pre() and the rscratch that's passed as tmp from
>>> sharedRuntime_aarch64.cpp. You need this fix:
>>>
>>> diff -r 9f523f185755 src/cpu/aarch64/vm/sharedRuntime_aarch64.cpp
>>> --- a/src/cpu/aarch64/vm/sharedRuntime_aarch64.cpp Mon May 27 12:23:24
>>> 2019 +0200
>>> +++ b/src/cpu/aarch64/vm/sharedRuntime_aarch64.cpp Mon May 27 09:27:22
>>> 2019 -0400
>>> @@ -2066,7 +2066,7 @@
>>> __ g1_write_barrier_pre(noreg /* obj */,
>>> r0 /* pre_val */,
>>> rthread /* thread */,
>>> - rscratch1 /* tmp */,
>>> + rscratch2 /* tmp */,
>>> true /* tosca_live */,
>>> true /* expand_call */);
>>> }
>>>
>>> This makes the failing test pass for me.
>>
>> Yes, it does! Thank you.
>>
>>> It probably warrants a more careful fix, extra asserts in
>>> g1_write_barrier_pre() and checking if newer versions have similar problems.
>>
>> This is apparently fixed by:
>> https://bugs.openjdk.java.net/browse/JDK-8186325
>>
>> ...and we "just" need to backport it.
>
> Here:
> https://mail.openjdk.java.net/pipermail/aarch64-port-dev/2019-May/007397.html
>
> Assuming it is approved soon, we would need to wait for another 8u pull to get it.
Looks good to me.
Roman
More information about the shenandoah-dev
mailing list