RFR: 8217874: Shenandoah: AArch64: Clobbered register in ShenandoahBarrierSetAssembler::cmpxchg_oop()

Roman Kennke rkennke at redhat.com
Mon Jan 28 12:46:06 UTC 2019

In AArch64, when called from C2, in
ShenandoahBarrierSetAssembler::cmpxchg_oop() the result register may
overlap with other input argument registers and thus fail the leading
assert, and lead to clobbered registers. In the body of the code block,
a temporary register should be used instead, and result should only get
filled in at the end.


Testing: Some tests failed before (e.g. TestVerifyJCStress.java), those
are good now. No regressions in hotspot_gc_shenandoah either.

Can I get a review please?

Thanks, Roman

More information about the hotspot-compiler-dev mailing list