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