RFR (XS) 8223449: Unprotected UseCompressedOops block in gc/shenandoah/shenandoahBarrierSetC1_x86.cpp
Aleksey Shipilev
shade at redhat.com
Tue May 7 10:32:20 UTC 2019
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
--
Thanks,
-Aleksey
More information about the shenandoah-dev
mailing list