equal
deleted
inserted
replaced
33 #include "oops/klassOop.hpp" |
33 #include "oops/klassOop.hpp" |
34 #include "oops/oop.inline.hpp" |
34 #include "oops/oop.inline.hpp" |
35 #include "oops/oop.inline2.hpp" |
35 #include "oops/oop.inline2.hpp" |
36 #include "runtime/atomic.hpp" |
36 #include "runtime/atomic.hpp" |
37 |
37 |
|
38 void Klass::set_name(Symbol* n) { |
|
39 _name = n; |
|
40 if (_name != NULL) _name->increment_refcount(); |
|
41 } |
38 |
42 |
39 bool Klass::is_subclass_of(klassOop k) const { |
43 bool Klass::is_subclass_of(klassOop k) const { |
40 // Run up the super chain and check |
44 // Run up the super chain and check |
41 klassOop t = as_klassOop(); |
45 klassOop t = as_klassOop(); |
42 |
46 |
113 assert(k->is_klass(), "argument must be a class"); |
117 assert(k->is_klass(), "argument must be a class"); |
114 return is_subclass_of(k); |
118 return is_subclass_of(k); |
115 } |
119 } |
116 |
120 |
117 |
121 |
118 methodOop Klass::uncached_lookup_method(symbolOop name, symbolOop signature) const { |
122 methodOop Klass::uncached_lookup_method(Symbol* name, Symbol* signature) const { |
119 #ifdef ASSERT |
123 #ifdef ASSERT |
120 tty->print_cr("Error: uncached_lookup_method called on a klass oop." |
124 tty->print_cr("Error: uncached_lookup_method called on a klass oop." |
121 " Likely error: reflection method does not correctly" |
125 " Likely error: reflection method does not correctly" |
122 " wrap return value in a mirror object."); |
126 " wrap return value in a mirror object."); |
123 #endif |
127 #endif |
452 set_subklass(NULL); |
456 set_subklass(NULL); |
453 set_next_sibling(NULL); |
457 set_next_sibling(NULL); |
454 } |
458 } |
455 |
459 |
456 |
460 |
|
461 void Klass::shared_symbols_iterate(SymbolClosure* closure) { |
|
462 closure->do_symbol(&_name); |
|
463 } |
|
464 |
|
465 |
457 klassOop Klass::array_klass_or_null(int rank) { |
466 klassOop Klass::array_klass_or_null(int rank) { |
458 EXCEPTION_MARK; |
467 EXCEPTION_MARK; |
459 // No exception can be thrown by array_klass_impl when called with or_null == true. |
468 // No exception can be thrown by array_klass_impl when called with or_null == true. |
460 // (In anycase, the execption mark will fail if it do so) |
469 // (In anycase, the execption mark will fail if it do so) |
461 return array_klass_impl(true, rank, THREAD); |
470 return array_klass_impl(true, rank, THREAD); |