RFR: 8283306: re-resolving indirect call to non-entrant nmethod can crash

Doug Simon dnsimon at openjdk.java.net
Wed May 4 08:08:15 UTC 2022


On Wed, 4 May 2022 07:47:28 GMT, Dean Long <dlong at openjdk.org> wrote:

> This change fixes a crash that can happen in SharedRuntime::reresolve_call_site with Graal/JVMCI.
> See https://bugs.openjdk.java.net/browse/JDK-8283306 for details.

This minimal patch looks ok but I think @tkrodriguez has something more extensive in mind.

src/hotspot/share/runtime/sharedRuntime.cpp line 1837:

> 1835:         patch_call = true;
> 1836:       } else {
> 1837:         assert(!UseInlineCaches || caller_nm->is_compiled_by_jvmci(), "relocation info. must exist for this address");

Could we please make this a `guarantee`. This is not a particularly hot code path and the failure it can cause later is very hard to debug.

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

PR: https://git.openjdk.java.net/jdk/pull/8528


More information about the hotspot-dev mailing list