--- a/hotspot/src/share/vm/oops/klass.cpp Thu Jan 27 13:42:28 2011 -0800
+++ b/hotspot/src/share/vm/oops/klass.cpp Thu Jan 27 16:11:27 2011 -0800
@@ -35,6 +35,10 @@
#include "oops/oop.inline2.hpp"
#include "runtime/atomic.hpp"
+void Klass::set_name(Symbol* n) {
+ _name = n;
+ if (_name != NULL) _name->increment_refcount();
+}
bool Klass::is_subclass_of(klassOop k) const {
// Run up the super chain and check
@@ -115,7 +119,7 @@
}
-methodOop Klass::uncached_lookup_method(symbolOop name, symbolOop signature) const {
+methodOop Klass::uncached_lookup_method(Symbol* name, Symbol* signature) const {
#ifdef ASSERT
tty->print_cr("Error: uncached_lookup_method called on a klass oop."
" Likely error: reflection method does not correctly"
@@ -454,6 +458,11 @@
}
+void Klass::shared_symbols_iterate(SymbolClosure* closure) {
+ closure->do_symbol(&_name);
+}
+
+
klassOop Klass::array_klass_or_null(int rank) {
EXCEPTION_MARK;
// No exception can be thrown by array_klass_impl when called with or_null == true.