RFR: AArch64 remaining CAS-obj impls
Roman Kennke
rkennke at redhat.com
Thu Nov 17 12:08:20 UTC 2016
Am Donnerstag, den 17.11.2016, 11:48 +0000 schrieb Andrew Haley:
> On 17/11/16 10:07, Roman Kennke wrote:
> >
> > I found one more bug in my implementation. For compareAndExchangeN,
> > we
> > need to restore the uncompressed old-value into the result register
> > before leaving.
> >
> > http://cr.openjdk.java.net/~rkennke/aarch64-cas/webrev.01/
> >
> > Ok now?
>
> What does this mean?
>
> + __ cmpxchg_oop_shenandoah(addr, cmpval, newval,
> Assembler::word, true, true, false);
>
> No cheating by looking at the declaration of cmpxchg_oop_shenandoah!
;-)
I know, it is not the crytal clear diamond of software engineering :-)
In my defense, it's mostly adopted from existing code, and at least
it's consistent.
I agree it should be refactored, and if we go and do that, then for all
of the similar cmpxchg() methods in MacroAssembler.
Roman
More information about the shenandoah-dev
mailing list