Thu, 27 Feb 2014 10:34:55 +0100
8035648: Don't use Handle in java_lang_String::print
Reviewed-by: coleenp, pliden
1.1 --- a/src/share/vm/classfile/javaClasses.cpp Fri Feb 21 10:19:09 2014 +0100 1.2 +++ b/src/share/vm/classfile/javaClasses.cpp Thu Feb 27 10:34:55 2014 +0100 1.3 @@ -463,12 +463,11 @@ 1.4 return true; 1.5 } 1.6 1.7 -void java_lang_String::print(Handle java_string, outputStream* st) { 1.8 - oop obj = java_string(); 1.9 - assert(obj->klass() == SystemDictionary::String_klass(), "must be java_string"); 1.10 - typeArrayOop value = java_lang_String::value(obj); 1.11 - int offset = java_lang_String::offset(obj); 1.12 - int length = java_lang_String::length(obj); 1.13 +void java_lang_String::print(oop java_string, outputStream* st) { 1.14 + assert(java_string->klass() == SystemDictionary::String_klass(), "must be java_string"); 1.15 + typeArrayOop value = java_lang_String::value(java_string); 1.16 + int offset = java_lang_String::offset(java_string); 1.17 + int length = java_lang_String::length(java_string); 1.18 1.19 int end = MIN2(length, 100); 1.20 if (value == NULL) {
2.1 --- a/src/share/vm/classfile/javaClasses.hpp Fri Feb 21 10:19:09 2014 +0100 2.2 +++ b/src/share/vm/classfile/javaClasses.hpp Thu Feb 27 10:34:55 2014 +0100 2.3 @@ -208,7 +208,7 @@ 2.4 } 2.5 2.6 // Debugging 2.7 - static void print(Handle java_string, outputStream* st); 2.8 + static void print(oop java_string, outputStream* st); 2.9 friend class JavaClasses; 2.10 }; 2.11
3.1 --- a/src/share/vm/oops/instanceKlass.cpp Fri Feb 21 10:19:09 2014 +0100 3.2 +++ b/src/share/vm/oops/instanceKlass.cpp Thu Feb 27 10:34:55 2014 +0100 3.3 @@ -3042,8 +3042,7 @@ 3.4 offset <= (juint) value->length() && 3.5 offset + length <= (juint) value->length()) { 3.6 st->print(BULLET"string: "); 3.7 - Handle h_obj(obj); 3.8 - java_lang_String::print(h_obj, st); 3.9 + java_lang_String::print(obj, st); 3.10 st->cr(); 3.11 if (!WizardMode) return; // that is enough 3.12 }