RFR: 8321509: False positive in get_trampoline fast path causes crash [v2]

Vladimir Kozlov kvn at openjdk.org
Tue Jun 25 16:21:18 UTC 2024


On Tue, 25 Jun 2024 06:52:24 GMT, Dean Long <dlong at openjdk.org> wrote:

>> 8321509: False positive in get_trampoline fast path causes crash
>
> Dean Long has updated the pull request incrementally with one additional commit since the last revision:
> 
>   rename to USE_TRAMPOLINE_STUB_FIX_OWNER

src/hotspot/cpu/aarch64/nativeInst_aarch64.cpp line 58:

> 56:   if (destination == addr) {
> 57:     return destination;
> 58:   }

This needs comment.

src/hotspot/cpu/aarch64/nativeInst_aarch64.cpp line 110:

> 108:   CodeBlob *code = CodeCache::find_blob(call_addr);
> 109:   assert(code != nullptr, "Could not find the containing code blob");
> 110:   if (!code->is_nmethod()) return nullptr;

Is it because trampolines are not used by not nmethods? Should we have an assert here about that?

src/hotspot/cpu/aarch64/nativeInst_aarch64.cpp line 113:

> 111:   nmethod* nm = code->as_nmethod();
> 112: 
> 113:   address bl_destination = instruction_address() + displacement();

Can you use `call_addr + displacement()` here?

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

PR Review Comment: https://git.openjdk.org/jdk/pull/19796#discussion_r1653082743
PR Review Comment: https://git.openjdk.org/jdk/pull/19796#discussion_r1653134361
PR Review Comment: https://git.openjdk.org/jdk/pull/19796#discussion_r1653086663


More information about the hotspot-compiler-dev mailing list