RFR: Streamline+cleanup ShenandoahBarrierSetC1 and related code

Roman Kennke rkennke at redhat.com
Thu Sep 27 10:35:26 UTC 2018


Hi Roland,

>> http://cr.openjdk.java.net/~rkennke/c1-bs-cleanups/webrev.00/
> 
> So you reverted back to upstream code for c1_LIRGenerator_xxx.cpp? The
> change to LIR_Opr LIRGenerator::atomic_cmpxchg() on x86 should be kept I
> think because it fixes an inconsistency.

Right. This should be upstreamed then:
https://bugs.openjdk.java.net/browse/JDK-8211219


> Isn't there some missing aarch64 code:
> Wouldn't the changeshenandoahBarrierSetC1_x86.cpp needed on aarch64 too?
> In shenandoahBarrierSetC1.cpp,
> ShenandoahBarrierSetC1::atomic_xchg_at_resolved(), the logic you use
> seems to be a copy of the one for x86 but the aarch64 is different and
> needs a temp register?

Right. I splitted the x86 and aarch64 versions and fixed that. Running
tier3_gc_shenandoah on both x86 and aarch64 right now.

http://cr.openjdk.java.net/~rkennke/c1-bs-cleanups/webrev.01/

Ok now?

Roman



More information about the shenandoah-dev mailing list