Mercurial > hg > truffle
comparison src/share/vm/runtime/thread.cpp @ 382:e4355b352b7d
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
author | coleenp |
---|---|
date | Fri, 26 Sep 2008 13:33:15 -0400 |
parents | b33eef719520 |
children | 99dd4bbd9eec |
comparison
equal
deleted
inserted
replaced
335:e91159f921a5 | 382:e4355b352b7d |
---|---|
2962 } | 2962 } |
2963 | 2963 |
2964 if (UseStringCache) { | 2964 if (UseStringCache) { |
2965 // Forcibly initialize java/lang/String and mutate the private | 2965 // Forcibly initialize java/lang/String and mutate the private |
2966 // static final "stringCacheEnabled" field before we start creating instances | 2966 // static final "stringCacheEnabled" field before we start creating instances |
2967 #ifdef ASSERT | |
2968 klassOop tmp_k = SystemDictionary::find(vmSymbolHandles::java_lang_String(), Handle(), Handle(), CHECK_0); | |
2969 assert(tmp_k == NULL, "java/lang/String should not be loaded yet"); | |
2970 #endif | |
2971 klassOop k_o = SystemDictionary::resolve_or_null(vmSymbolHandles::java_lang_String(), Handle(), Handle(), CHECK_0); | 2967 klassOop k_o = SystemDictionary::resolve_or_null(vmSymbolHandles::java_lang_String(), Handle(), Handle(), CHECK_0); |
2972 KlassHandle k = KlassHandle(THREAD, k_o); | 2968 KlassHandle k = KlassHandle(THREAD, k_o); |
2973 guarantee(k.not_null(), "Must find java/lang/String"); | 2969 guarantee(k.not_null(), "Must find java/lang/String"); |
2974 instanceKlassHandle ik = instanceKlassHandle(THREAD, k()); | 2970 instanceKlassHandle ik = instanceKlassHandle(THREAD, k()); |
2975 ik->initialize(CHECK_0); | 2971 ik->initialize(CHECK_0); |