objArrayOop oopFactory::new_objArray(klassOop klass, int length, TRAPS) { assert(klass->is_klass(), "must be instance class"); if (klass->klass_part()->oop_is_array()) { return ((arrayKlass*)klass->klass_part())->allocate_arrayArray(1, length, THREAD); } else { assert (klass->klass_part()->oop_is_instance(), "new object array with klass not an instanceKlass"); return ((instanceKlass*)klass->klass_part())->allocate_objArray(1, length, THREAD); } }
inline void oopDesc::set_klass(klassOop k) { // since klasses are promoted no store check is needed assert(Universe::is_bootstrapping() || k != NULL, "must be a real klassOop"); assert(Universe::is_bootstrapping() || k->is_klass(), "not a klassOop"); if (UseCompressedOops) { oop_store_without_check(compressed_klass_addr(), (oop)k); } else { oop_store_without_check(klass_addr(), (oop) k); } }
bool Klass::compute_is_subtype_of(klassOop k) { assert(k->is_klass(), "argument must be a class"); return is_subclass_of(k); }
inline void oopDesc::set_klass(klassOop k) { // since klasses are promoted no store check is needed assert(Universe::is_bootstrapping() || k != NULL, "must be a real klassOop"); assert(Universe::is_bootstrapping() || k->is_klass(), "not a klassOop"); oop_store_without_check((oop*) &_klass, (oop) k); }