[aarch64-port-dev ] RFR: 8217368: AArch64: C2 recursive stack locking optimisation not triggered
Derek White
derekw at marvell.com
Tue Jan 22 18:34:54 UTC 2019
Looks great!
Thanks Nick,
- Derek
> -----Original Message-----
> From: aarch64-port-dev <aarch64-port-dev-bounces at openjdk.java.net> On
> Behalf Of Nick Gasson (Arm Technology China)
> Sent: Tuesday, January 22, 2019 4:10 AM
> To: Andrew Haley <aph at redhat.com>; hotspot-compiler-
> dev at openjdk.java.net compiler <hotspot-compiler-dev at openjdk.java.net>
> Cc: nd <nd at arm.com>; aarch64-port-dev at openjdk.java.net
> Subject: [EXT] Re: [aarch64-port-dev ] RFR: 8217368: AArch64: C2 recursive
> stack locking optimisation not triggered
>
> External Email
>
> ----------------------------------------------------------------------
> Hi,
>
> On 21/01/2019 20:27, Andrew Haley wrote:
> >
> > OK, if that's your position: you're writing the patch. Using cmpxhg
> > everywhere will make that rather twisted code much easier to read.
> >
>
> Please see the updated webrev to use cmpxchg in both the lock and unlock
> functions:
>
> http://cr.openjdk.java.net/~ngasson/8217368/webrev.1/
>
> Also includes Derek's cleanup suggestions (although some of them are not
> applicable now).
>
> Testing I've done on this:
>
> * Ran jtreg with assertions enabled (+UseLSE)
>
> * Ran jcstress with both +UseLSE and -UseLSE
>
> * Ran the JMH LockUnlock benchmarks with -UseBiasedLocking to check for
> performance regressions.
>
> The directory below contains the the generated assembly from each webrev
> and current hg tip for this simple method:
>
> http://cr.openjdk.java.net/~ngasson/8217368/generated/
>
> private Object obj = new Object();
> public int x;
>
> private void incX() {
> synchronized (obj) {
> x++;
> }
> }
>
> The output of webrev.1 looks OK to me. Any other suggestions of things to
> test?
>
> Thanks,
> Nick
More information about the hotspot-compiler-dev
mailing list