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 This pull request has now been integrated. Changeset: 540dab02 Author: Tobias Hartmann <[email protected]> URL: https://git.openjdk.org/valhalla/commit/540dab026c3b09e4ed8fbec55c7907083494a7f5 Stats: 105 lines in 3 files changed: 102 ins; 2 del; 1 mod 8375086: [lworld] Implicit exception handling in inline-cache check is broken Reviewed-by: chagedorn ------------- PR: https://git.openjdk.org/valhalla/pull/2011
