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