RFR: 8294538: missing is_unloading() check in SharedRuntime::fixup_callers_callsite()
Erik Österlund
eosterlund at openjdk.org
Thu Oct 20 07:41:32 UTC 2022
On Tue, 18 Oct 2022 17:37:30 GMT, Dean Long <dlong at openjdk.org> wrote:
> This change adds a missing is_unloading() check for the callee in SharedRuntime::fixup_callers_callsite() and removes from_compiled_entry_no_trampoline() because it is no longer used.
Looks good in general, but I have two questions.
src/hotspot/share/runtime/sharedRuntime.cpp line 2113:
> 2111: NoSafepointVerifier nsv;
> 2112:
> 2113: CompiledMethod* callee = moop->code();
There is a moop->code() null check just a few lines below, so now it looks like we are reading the code pointer twice checking if it is null. Is ot enough to do that one time?
src/hotspot/share/runtime/sharedRuntime.cpp line 2119:
> 2117:
> 2118: CodeBlob* cb = CodeCache::find_blob(caller_pc);
> 2119: if (cb == NULL || !cb->is_compiled() || callee->is_unloading()) {
Why not move the is_unloading check on callee to the if statement just above that checks the callee (as opposed to the callsite)?
-------------
Changes requested by eosterlund (Reviewer).
PR: https://git.openjdk.org/jdk/pull/10747
More information about the hotspot-dev
mailing list