On Mon, 2 Feb 2026 13:58:20 GMT, Tobias Hartmann <[email protected]> wrote:
> We crash with a `SIGSEGV` instead of throwing a `NullPointerException` when > passing a `null` receiver through an inline cache'd interface call site > because the implicit null check that happens when doing the receiver type > check in the unverified entry point of the nmethod is not working properly. > > When `SharedRuntime::continuation_for_implicit_exception` checks where the > `IMPLICIT_NULL` exception came from, it does not recognize the entry point: > https://github.com/openjdk/valhalla/blob/55c80fedfcee5d3b113cdf38d64c1bcac8632c9a/src/hotspot/share/runtime/sharedRuntime.cpp#L1021-L1028 > > However, with the scalarized calling convention, we have two unverified entry > points (`verified_entry_point` and `verified_inline_entry_point`). Both need > to be handled in `nmethod::inlinecache_check_contains`. > > Thanks, > Tobias Thanks for the quick review Christian! ------------- PR Comment: https://git.openjdk.org/valhalla/pull/2011#issuecomment-3835345631
