RFR: 8316694: Implement relocation of nmethod within CodeCache [v32]
Chad Rakoczy
duke at openjdk.org
Mon Jul 14 20:51:51 UTC 2025
On Sun, 13 Jul 2025 09:31:45 GMT, Andrew Haley <aph at openjdk.org> wrote:
> In what circumstances would a trampoline be missing?
A trampoline could be missing if the nmethod is from JVMCI/Graal. Hotspot decreases the max branch size for debug builds on aarch64 ([source](https://github.com/openjdk/jdk/blob/a10ee46e6dd94a279e0821d431944bb096493664/src/hotspot/cpu/aarch64/assembler_aarch64.hpp#L928-L936)) for stress testing. Since Graal only ever uses the actual max range Hotspot may expect trampolines that Graal has determined aren't actually necessary.
However after updating how call sites are fixed ([commit](https://github.com/openjdk/jdk/pull/23573/commits/a6302fdf5754b382702577e8e421c85a5fb9063c)) this code is no longer needed. Since the trampoline relocations are responsible for fixing their owners `CallRelocation::fix_relocation_after_move` no longer needs to perform range checks. So the situation I mentioned above about "missing trampolines" is no longer an issue for relocation
-------------
PR Review Comment: https://git.openjdk.org/jdk/pull/23573#discussion_r2205791168
More information about the hotspot-compiler-dev
mailing list