RFR: 8294729: [s390] Implement nmethod entry barriers

Martin Doerr mdoerr at openjdk.org
Wed Oct 26 20:00:39 UTC 2022


On Fri, 7 Oct 2022 14:45:01 GMT, Lutz Schmidt <lucy at openjdk.org> wrote:

>> Doesn't `z_larl(Z_R1_scratch, &StubRoutines::zarch::nmethod_entry_barrier())` always work? It uses a relocation and can reach any address within the code cache. I think this makes sense regardless of the z14 choice. (Note that there are complicated offset computations and processor model dependent code won't make it easier :-) )
>
> @TheRealMDoerr Yes, z_larl() will always work within the bounds of CodeCache. But it only gives you the address where the address is stored. You need another z_lg() to get the branch address. And then there is no benefit anymore compared to two 4-byte immediate loads.

The branch target is constant once the stub is created. We don't need to load it from memory.
I meant `__ z_larl(Z_R1_scratch, StubRoutines::zarch::nmethod_entry_barrier());`

-------------

PR: https://git.openjdk.org/jdk/pull/10558


More information about the hotspot-dev mailing list