RFR: Fix limited x86_32 support
Aleksey Shipilev
shade at redhat.com
Sun Sep 16 16:10:11 UTC 2018
Shenandoah is able to run on x86_32 in passive mode. That is, before it was
broken with recent CAS refactoring. Fixed like this:
--- a/src/hotspot/cpu/x86/gc/shenandoah/shenandoahBarrierSetC1_x86.cpp
+++ b/src/hotspot/cpu/x86/gc/shenandoah/shenandoahBarrierSetC1_x86.cpp
@@ -51,5 +51,5 @@
LIR_Opr ShenandoahBarrierSetC1::atomic_cmpxchg_at_resolved(LIRAccess& access,
LIRItem& cmp_value, LIRItem& new_value) {
BasicType bt = access.type();
- if (bt == T_OBJECT || bt == T_ARRAY) {
+ if (ShenandoahCASBarrier && (bt == T_OBJECT || bt == T_ARRAY)) {
LIRGenerator *gen = access.gen();
cmp_value.load_item_force(FrameMap::rax_oop_opr);
Testing: adhoc x86_32 runs
Thanks,
-Aleksey
More information about the shenandoah-dev
mailing list