[aarch64-port-dev ] Very large code caches

Andrew Haley aph at redhat.com
Wed May 16 07:23:04 UTC 2018


On 05/16/2018 03:53 AM, Leslie Zhai wrote:
> Hi HotSpot developers,
> I am trying to implement `patch_verified_entry` for other targets, such 
> as riscv, but I found that:
> 
>> but the real problem is that the resulting call
>> site is not MT-safe: it can't be patched atomically.  To make that
>> work we'd have to move the destination address into the constant pool.

Where is that comment?  I can't find it.

> So aarch64 hasn't implemented patched *atomically* yet?

We atomically patch everything correctly.  If you look at the AArch64
implementation of patch_verified_entry you'll see that we replace a
direct call instruction if it can reach, and if it can't we jump to a
trampoline.  The trampoline is a load from a single word followed by
an indirect call.  In both cases it is atomic.

-- 
Andrew Haley
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-compiler-dev mailing list