1.1 --- a/src/share/vm/classfile/symbolTable.cpp Mon Mar 21 18:38:00 2011 -0700 1.2 +++ b/src/share/vm/classfile/symbolTable.cpp Tue Mar 22 13:36:33 2011 -0700 1.3 @@ -530,7 +530,7 @@ 1.4 1.5 Handle string; 1.6 // try to reuse the string if possible 1.7 - if (!string_or_null.is_null() && string_or_null()->is_perm()) { 1.8 + if (!string_or_null.is_null() && (!JavaObjectsInPerm || string_or_null()->is_perm())) { 1.9 string = string_or_null; 1.10 } else { 1.11 string = java_lang_String::create_tenured_from_unicode(name, len, CHECK_NULL); 1.12 @@ -662,7 +662,7 @@ 1.13 for ( ; p != NULL; p = p->next()) { 1.14 oop s = p->literal(); 1.15 guarantee(s != NULL, "interned string is NULL"); 1.16 - guarantee(s->is_perm(), "interned string not in permspace"); 1.17 + guarantee(s->is_perm() || !JavaObjectsInPerm, "interned string not in permspace"); 1.18 1.19 int length; 1.20 jchar* chars = java_lang_String::as_unicode_string(s, length);