aarch64: Concurrent class unloading, nmethod barriers, ZGC

Andrew Haley aph at redhat.com
Wed Jan 8 10:21:02 UTC 2020

On 1/7/20 11:34 PM, Stuart Monteith wrote:
> This code is patched up such that the ldarw is loading from a field I've
> added to nmethod "_nmethod_guard". There don't appear to be existing
> ways to emit a relocation (there aren't spare bits to do a small change)
> from an address in nmethod emitted code into the nmethod data structure.
> It is initialized to the instruction's current address and
> BarrierSetNMethod::disarm will detect this known value and fix it up,
> which occurs on initialization.
> Currently the deoptmise path is broken. By setting the environment
> variable "SRDM_forcedeopt", the deoptimisation can be provoked even when
> not needed - the x86 implementation is good with this change. The
> aarch64 code isn't working yet - I suspect I've followed the x86 code
> too closely, and my offsets are perhaps miscalculated - I may be
> pointing at the wrong frame, or I've neglected FP too much.

I'll integrate this with what I've got and return it to you.

Andrew Haley  (he/him)
Java Platform Lead Engineer
Red Hat UK Ltd. <https://www.redhat.com>
EAC8 43EB D3EF DB98 CC77 2FAD A5CD 6035 332F A671

More information about the hotspot-gc-dev mailing list