6719149: Wrong "java/lang/String should not be loaded yet" assertion in fastdebug bits with UseStringCache
Summary: Assertion is invalid because java.lang.String may be initialized just before this assertion.
Reviewed-by: phh
--- a/hotspot/src/share/vm/runtime/thread.cpp Wed Jul 05 16:41:36 2017 +0200
+++ b/hotspot/src/share/vm/runtime/thread.cpp Fri Sep 26 13:33:15 2008 -0400
@@ -2964,10 +2964,6 @@
if (UseStringCache) {
// Forcibly initialize java/lang/String and mutate the private
// static final "stringCacheEnabled" field before we start creating instances
-#ifdef ASSERT
- klassOop tmp_k = SystemDictionary::find(vmSymbolHandles::java_lang_String(), Handle(), Handle(), CHECK_0);
- assert(tmp_k == NULL, "java/lang/String should not be loaded yet");
-#endif
klassOop k_o = SystemDictionary::resolve_or_null(vmSymbolHandles::java_lang_String(), Handle(), Handle(), CHECK_0);
KlassHandle k = KlassHandle(THREAD, k_o);
guarantee(k.not_null(), "Must find java/lang/String");