RFR 8228532: Shenandoah: Implement SBSA::try_resolve_jobject_in_native()
Aleksey Shipilev
shade at redhat.com
Wed Oct 30 17:02:15 UTC 2019
On 10/30/19 5:50 PM, Andrew Haley wrote:
> Has this bug been backported? How should we handle it?
JDK-8228532 is only in 14, it had not been backported.
> Suggested patch:
>
> diff -r 6a05019acb67 src/hotspot/cpu/aarch64/gc/shenandoah/shenandoahBarrierSetAssembler_aarch64.cpp
> --- a/src/hotspot/cpu/aarch64/gc/shenandoah/shenandoahBarrierSetAssembler_aarch64.cpp Tue Sep 17 14:00:36 2019 -0400
> +++ b/src/hotspot/cpu/aarch64/gc/shenandoah/shenandoahBarrierSetAssembler_aarch64.cpp Wed Oct 30 12:44:23 2019 -0400
> @@ -424,9 +448,12 @@
> // Check for null.
> __ cbz(obj, done);
>
> assert(obj != rscratch2, "need rscratch2");
> - Address gc_state(rthread, in_bytes(ShenandoahThreadLocalData::gc_state_offset()));
> - __ ldrb(rscratch2, gc_state);
> + Address gc_state(jni_env, ShenandoahThreadLocalData::gc_state_offset() - JavaThread::jni_environment_offset());
> + __ lea(rscratch2, gc_state);
> + __ ldrb(rscratch2, Address(rscratch2));
>
> // Check for heap in evacuation phase
> __ tbnz(rscratch2, ShenandoahHeap::EVACUATION_BITPOS, slowpath);
Yes, RFR that under new bug and link it to 8228532 :)
I think x86 does it correctly already:
https://hg.openjdk.java.net/jdk/jdk/rev/db740ced41c4
--
Thanks,
-Aleksey
More information about the hotspot-gc-dev
mailing list