8035648: Don't use Handle in java_lang_String::print
Reviewed-by: coleenp, pliden
diff --git a/hotspot/src/share/vm/classfile/javaClasses.cpp b/hotspot/src/share/vm/classfile/javaClasses.cpp
index 4a84c5f..1d025ce 100644
--- a/hotspot/src/share/vm/classfile/javaClasses.cpp
+++ b/hotspot/src/share/vm/classfile/javaClasses.cpp
@@ -463,12 +463,11 @@
return true;
}
-void java_lang_String::print(Handle java_string, outputStream* st) {
- oop obj = java_string();
- assert(obj->klass() == SystemDictionary::String_klass(), "must be java_string");
- typeArrayOop value = java_lang_String::value(obj);
- int offset = java_lang_String::offset(obj);
- int length = java_lang_String::length(obj);
+void java_lang_String::print(oop java_string, outputStream* st) {
+ assert(java_string->klass() == SystemDictionary::String_klass(), "must be java_string");
+ typeArrayOop value = java_lang_String::value(java_string);
+ int offset = java_lang_String::offset(java_string);
+ int length = java_lang_String::length(java_string);
int end = MIN2(length, 100);
if (value == NULL) {
diff --git a/hotspot/src/share/vm/classfile/javaClasses.hpp b/hotspot/src/share/vm/classfile/javaClasses.hpp
index 8b3bfc4..e566ec7 100644
--- a/hotspot/src/share/vm/classfile/javaClasses.hpp
+++ b/hotspot/src/share/vm/classfile/javaClasses.hpp
@@ -208,7 +208,7 @@
}
// Debugging
- static void print(Handle java_string, outputStream* st);
+ static void print(oop java_string, outputStream* st);
friend class JavaClasses;
};
diff --git a/hotspot/src/share/vm/oops/instanceKlass.cpp b/hotspot/src/share/vm/oops/instanceKlass.cpp
index effb2c1..e3fecbe 100644
--- a/hotspot/src/share/vm/oops/instanceKlass.cpp
+++ b/hotspot/src/share/vm/oops/instanceKlass.cpp
@@ -3042,8 +3042,7 @@
offset <= (juint) value->length() &&
offset + length <= (juint) value->length()) {
st->print(BULLET"string: ");
- Handle h_obj(obj);
- java_lang_String::print(h_obj, st);
+ java_lang_String::print(obj, st);
st->cr();
if (!WizardMode) return; // that is enough
}