[aarch64-port-dev ] RFR: 8217368: AArch64: C2 recursive stack locking optimisation not triggered
derekw at marvell.com
Fri Jan 18 17:29:02 UTC 2019
> -----Original Message-----
> From: aarch64-port-dev <aarch64-port-dev-bounces at openjdk.java.net> On
> Behalf Of Andrew Haley
> Sent: Friday, January 18, 2019 4:37 AM
> To: Nick Gasson (Arm Technology China) <Nick.Gasson at arm.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
> The patch looks good. However, I don't understand why we aren't using
> MacroAssembler::cmpxchgptr here. It looks like we should be, and you'd end
> up with a less complex result.
The original code used cmpxchgptr, but it introduced too many unnecessary branches. So you or Ed changed it to this code, with a (7-8 line) comment "Formerly: __ cmpxchgptr" etc, etc. I thought that comment didn't add much for all that bulk so I asked Nick to rip the comment out!
The function now fits on one screen (of sufficient size) though.
Getting cmpxchgptr to work without the extra branches would be a better solution if someone has any thoughts in that direction.
More information about the hotspot-compiler-dev