src/share/vm/classfile/symbolTable.cpp

changeset 2661
b099aaf51bf8
parent 2618
df1347358fe6
child 2700
352622fd140a
     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);

mercurial