RFR: Fix limited x86_32 support

Roman Kennke rkennke at redhat.com
Sun Sep 16 19:21:11 UTC 2018


Yes. Thanks!
Roman

> 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