Condition code not set after CAS on aarch64

Roman Kennke rkennke at redhat.com
Wed Nov 16 16:34:28 UTC 2016


Am Mittwoch, den 16.11.2016, 16:20 +0000 schrieb Andrew Haley:
> On 16/11/16 16:13, Roman Kennke wrote:
> > 
> > Am Mittwoch, den 16.11.2016, 16:09 +0000 schrieb Andrew Haley:
> > > 
> > > On 16/11/16 15:59, Roman Kennke wrote:
> > > > 
> > > > 
> > > > Yes. And we set that register in cmpxchg_oop_shenandoah(). The
> > > > condition code might be foobar after the loop.
> > 
> > The code you're referring to is old. Here:
> > 
> > http://hg.openjdk.java.net/shenandoah/jdk9/hotspot/file/40ecb3f3157
> > 5/src/cpu/aarch64/vm/macroAssembler_aarch64.cpp#l2200
> 
> Oh, I see.  Why do you do that?  The condition flags should be fine.

Hmm, right.

I will change that back, it will actually be helpful when I implement
the compareAndExchange instructions for Shenandoah, and make the code
in general more similar to the other cmpxchg instructions.

Roman


More information about the shenandoah-dev mailing list