--- a/meth.patch Tue Jul 07 20:55:38 2009 -0700
+++ b/meth.patch Tue Jul 07 21:05:00 2009 -0700
@@ -59,6 +59,30 @@ diff --git a/src/share/vm/interpreter/te
static address throw_WrongMethodType_entry() { return _throw_WrongMethodType_entry; }
static address throw_NullPointerException_entry() { return _throw_NullPointerException_entry; }
static address throw_StackOverflowError_entry() { return _throw_StackOverflowError_entry; }
+diff --git a/src/share/vm/oops/instanceKlass.cpp b/src/share/vm/oops/instanceKlass.cpp
+--- a/src/share/vm/oops/instanceKlass.cpp
++++ b/src/share/vm/oops/instanceKlass.cpp
+@@ -1761,7 +1761,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);
+diff --git a/src/share/vm/oops/instanceKlass.hpp b/src/share/vm/oops/instanceKlass.hpp
+--- a/src/share/vm/oops/instanceKlass.hpp
++++ b/src/share/vm/oops/instanceKlass.hpp
+@@ -678,7 +678,7 @@
+ #endif // SERIALGC
+
+ // Naming
+- char* signature_name() const;
++ const char* signature_name() const;
+
+ // Iterators
+ int oop_oop_iterate(oop obj, OopClosure* blk) {
diff --git a/src/share/vm/oops/klass.cpp b/src/share/vm/oops/klass.cpp
--- a/src/share/vm/oops/klass.cpp
+++ b/src/share/vm/oops/klass.cpp
@@ -71,11 +95,24 @@ diff --git a/src/share/vm/oops/klass.cpp
}
- char* Klass::signature_name() const {
+-char* Klass::signature_name() const {
++const char* Klass::signature_name() const {
+ if (name() == NULL) return "<unknown>";
return name()->as_C_string();
}
+diff --git a/src/share/vm/oops/klass.hpp b/src/share/vm/oops/klass.hpp
+--- a/src/share/vm/oops/klass.hpp
++++ b/src/share/vm/oops/klass.hpp
+@@ -546,7 +546,7 @@
+ // For arrays, this returns the name of the element with a leading '['.
+ // For classes, this returns the name with a leading 'L' and a trailing ';'
+ // and the package separators as '/'.
+- virtual char* signature_name() const;
++ virtual const char* signature_name() const;
+
+ // garbage collection support
+ virtual void oop_follow_contents(oop obj) = 0;
diff --git a/src/share/vm/prims/methodHandles.cpp b/src/share/vm/prims/methodHandles.cpp
--- a/src/share/vm/prims/methodHandles.cpp
+++ b/src/share/vm/prims/methodHandles.cpp