hg: shenandoah/jdk9/hotspot: AArchh64: Added missing barriers. Fixed CAS-obj intrinsics C1/C2. Implemented narrow-oop CAS-obj C1/c2.
Andrew Haley
aph at redhat.com
Tue Aug 23 21:35:53 UTC 2016
On 23/08/16 12:07, roman at kennke.org wrote:
> Changeset: ceeb425078b2
> Author: rkennke
> Date: 2016-08-22 21:00 +0000
> URL: http://hg.openjdk.java.net/shenandoah/jdk9/hotspot/rev/ceeb425078b2
>
> AArchh64: Added missing barriers. Fixed CAS-obj intrinsics C1/C2. Implemented narrow-oop CAS-obj C1/c2.
+ load_exclusive(tmp, addr, xword, acquire);
+ cmp(tmp, expected);
+ br(Assembler::EQ, store);
+ oopDesc::bs()->interpreter_read_barrier(this, tmp);
+ oopDesc::bs()->interpreter_read_barrier(this, expected);
+ cmp(tmp, expected);
+ br(Assembler::NE, done);
+ bind(store);
+ store_exclusive(tmp, new_val, addr, xword, release);
+ cbnzw(tmp, retry);
Umm, no. You can't do any memory access in between a load exclusive and a
store exclusive.
Andrew.
More information about the shenandoah-dev
mailing list