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