6719149: Wrong "java/lang/String should not be loaded yet" assertion in fastdebug bits with UseStringCache

Assertion is invalid because java.lang.String may be initialized just before this assertion.

Reviewed-by: phh
This commit is contained in:
Coleen Phillimore 2008-09-26 13:33:15 -04:00
parent 52c8ea5a97
commit 32addb490d

View file

@ -2964,10 +2964,6 @@ jint Threads::create_vm(JavaVMInitArgs* args, bool* canTryAgain) {
if (UseStringCache) { if (UseStringCache) {
// Forcibly initialize java/lang/String and mutate the private // Forcibly initialize java/lang/String and mutate the private
// static final "stringCacheEnabled" field before we start creating instances // 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); klassOop k_o = SystemDictionary::resolve_or_null(vmSymbolHandles::java_lang_String(), Handle(), Handle(), CHECK_0);
KlassHandle k = KlassHandle(THREAD, k_o); KlassHandle k = KlassHandle(THREAD, k_o);
guarantee(k.not_null(), "Must find java/lang/String"); guarantee(k.not_null(), "Must find java/lang/String");