--- a/hotspot/src/share/vm/oops/instanceKlass.cpp Fri Oct 16 16:14:12 2009 -0700
+++ b/hotspot/src/share/vm/oops/instanceKlass.cpp Sat Oct 17 19:51:05 2009 -0700
@@ -1900,7 +1900,7 @@
}
}
-char* instanceKlass::signature_name() const {
+const char* instanceKlass::signature_name() const {
const char* src = (const char*) (name()->as_C_string());
const int src_length = (int)strlen(src);
char* dest = NEW_RESOURCE_ARRAY(char, src_length + 3);
@@ -2259,6 +2259,10 @@
st->print(BULLET"fake entry for array: ");
array_klass->print_value_on(st);
st->cr();
+ } else if (as_klassOop() == SystemDictionary::MethodType_klass()) {
+ st->print(BULLET"signature: ");
+ java_dyn_MethodType::print_signature(obj, st);
+ st->cr();
}
}
@@ -2284,6 +2288,9 @@
const char* tname = type2name(java_lang_Class::primitive_type(obj));
st->print("%s", tname ? tname : "type?");
}
+ } else if (as_klassOop() == SystemDictionary::MethodType_klass()) {
+ st->print(" = ");
+ java_dyn_MethodType::print_signature(obj, st);
} else if (java_lang_boxing_object::is_instance(obj)) {
st->print(" = ");
java_lang_boxing_object::print(obj, st);