RFR/RFC [8u]: Enable weak JNI handling with Shenandoah after JDK-8176100

Aleksey Shipilev shade at redhat.com
Mon May 27 15:39:09 UTC 2019


On 5/27/19 3:29 PM, Roman Kennke wrote:
> 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.

-Aleksey



More information about the shenandoah-dev mailing list