RFR (XS) 8223449: Unprotected UseCompressedOops block in gc/shenandoah/shenandoahBarrierSetC1_x86.cpp
Roman Kennke
rkennke at redhat.com
Tue May 7 10:35:14 UTC 2019
Yep, go!
Roman
> Bug:
> https://bugs.openjdk.java.net/browse/JDK-8223449
>
> x86_32 fails to build because of this (when specifically enabled). This is a simple overlook during
> recent refactoring of CAS barriers.
>
> Fix;
>
> diff -r edafae6da842 src/hotspot/cpu/x86/gc/shenandoah/shenandoahBarrierSetC1_x86.cpp
> --- a/src/hotspot/cpu/x86/gc/shenandoah/shenandoahBarrierSetC1_x86.cpp Tue May 07 12:23:13 2019 +0200
> +++ b/src/hotspot/cpu/x86/gc/shenandoah/shenandoahBarrierSetC1_x86.cpp Tue May 07 12:28:00 2019 +0200
> @@ -44,16 +44,18 @@
> // Apply storeval barrier to newval.
> ShenandoahBarrierSet::assembler()->storeval_barrier(masm->masm(), newval, tmp1);
>
> +#ifdef _LP64
> if (UseCompressedOops) {
> __ encode_heap_oop(cmpval);
> __ mov(rscratch1, newval);
> __ encode_heap_oop(rscratch1);
> newval = rscratch1;
> }
> +#endif
>
> Testing: hotspot_gc_shenandoah
>
More information about the shenandoah-dev
mailing list