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

Doug Simon dnsimon at openjdk.org
Fri Mar 31 15:27: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.
> 
> 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 pull request has now been integrated.

Changeset: e0126850
Author:    Doug Simon <dnsimon at openjdk.org>
URL:       https://git.openjdk.org/jdk/commit/e012685051cb8dbac1a6dd459a6e445c896e76ef
Stats:     58 lines in 4 files changed: 26 ins; 9 del; 23 mod

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

Reviewed-by: never, iveresov

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

PR: https://git.openjdk.org/jdk/pull/13229


More information about the hotspot-dev mailing list