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

Tom Rodriguez never at openjdk.org
Fri Mar 31 01:22:23 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.
> 
> Note that a VM with a broken boxing cache is going to be in a fairly miserable state (i.e. throwing `NoClassDefFoundError` on every call to `Long.valueOf`) so the OOME shouldn't cause any noticeable problem.

This looks good to me.  There's really no other way to handle it.

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

Marked as reviewed by never (Reviewer).

PR Review: https://git.openjdk.org/jdk/pull/13229#pullrequestreview-1366126807


More information about the hotspot-dev mailing list