RFR: 8316694: Implement relocation of nmethod within CodeCache [v13]

Evgeny Astigeevich eastigeevich at openjdk.org
Fri Apr 25 16:42:06 UTC 2025


On Fri, 25 Apr 2025 00:12:25 GMT, Chad Rakoczy <duke at openjdk.org> wrote:

>> src/hotspot/cpu/aarch64/relocInfo_aarch64.cpp line 86:
>> 
>>> 84:     if (!Assembler::reachable_from_branch_at(addr(), x, true)) {
>>> 85:       address trampoline = call->get_trampoline();
>>> 86:       assert(trampoline != nullptr, "branch is too large with no available trampoline");
>> 
>> Doesn't this mean any nmethod relocation can cause the JVM to crash if there is no trampoline?  Or are you creating new trampoline stubs in the relocated destination as needed (and deleting trampoline stubs that are no longer needed)?
>
> From what I saw calls are _usually_ accompanied by a corresponding trampoline. I'll look deeper to see if _usually_ is _always_

@chadrako, what issue are you trying to fix with the code?

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

PR Review Comment: https://git.openjdk.org/jdk/pull/23573#discussion_r2060559902


More information about the hotspot-compiler-dev mailing list