RFR: 8305066: [JVMCI] guarantee(ik->is_initialized()) failed: java/lang/Long$LongCache must be initialized

Doug Simon dnsimon at openjdk.org
Wed Mar 29 13:53:50 UTC 2023


On Wed, 29 Mar 2023 13:44:24 GMT, Doug Simon <dnsimon at openjdk.org> wrote:

> Class initialization can fail for the boxing caches such as `Long$LongCache` due to things such as a `StackOverflowError`.
> When rematerializing boxed values during deoptimization, a failed cache initialization must be handled. This PR handles it by throwing an OOME which is always semantically correct.

src/jdk.internal.vm.ci/share/classes/jdk/vm/ci/hotspot/HotSpotJVMCIRuntime.java line 195:

> 193:                     JVMCI.getRuntime();
> 194:                 }
> 195:                 // Make sure all the primitive box caches are populated (required to properly

This code has not been necessary ever since https://github.com/openjdk/jdk/blob/e56bcb04b11c6494e6afdf0bd9b9bc65a4769347/src/hotspot/share/jvmci/jvmciCodeInstaller.cpp#L985 was added.

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

PR Review Comment: https://git.openjdk.org/jdk/pull/13229#discussion_r1151970758


More information about the hotspot-dev mailing list