RFR: 8264940: java/lang/invoke/6998541/Test6998541.java failed "guarantee(ik->is_initialized()) failed: java/lang/Byte$ByteCache must be initialized"

Coleen Phillimore coleenp at openjdk.java.net
Fri Apr 9 11:43:22 UTC 2021


On Fri, 9 Apr 2021 10:15:57 GMT, Wang Huang <whuang at openjdk.org> wrote:

> *  The main reason is that in this situation the `BoxCache` is not initialized before `uncommon_trap`.
> *  `java.lang.Byte$ByteCache` is loaded without initializing here 
> * I think that all `*Cache` classes should be loaded in this situation.

Changes requested by coleenp (Reviewer).

src/hotspot/share/runtime/deoptimization.cpp line 979:

> 977:   static BooleanBoxCache *_singleton;
> 978:   BooleanBoxCache(Thread *thread) {
> 979:     InstanceKlass* ik = find_cache_klass(java_lang_Boolean::symbol(), thread);

If this throws a Java exception, you have to handle it here, you can't ignore it with thread.  You should initialize these classes during initialization.  You shouldn't be doing this in deoptimization.

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

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


More information about the hotspot-dev mailing list