hotspot/src/share/vm/oops/instanceKlass.cpp
changeset 33611 9abd65805e19
parent 33602 16053580a684
child 33638 ef49ed90010b
equal deleted inserted replaced
33602:16053580a684 33611:9abd65805e19
  2322   return dest;
  2322   return dest;
  2323 }
  2323 }
  2324 
  2324 
  2325 // different verisons of is_same_class_package
  2325 // different verisons of is_same_class_package
  2326 bool InstanceKlass::is_same_class_package(Klass* class2) {
  2326 bool InstanceKlass::is_same_class_package(Klass* class2) {
  2327   if (class2->oop_is_objArray()) {
  2327   if (class2->is_objArray_klass()) {
  2328     class2 = ObjArrayKlass::cast(class2)->bottom_klass();
  2328     class2 = ObjArrayKlass::cast(class2)->bottom_klass();
  2329   }
  2329   }
  2330   oop classloader2 = class2->class_loader();
  2330   oop classloader2 = class2->class_loader();
  2331   Symbol* classname2 = class2->name();
  2331   Symbol* classname2 = class2->name();
  2332 
  2332 
  2422 
  2422 
  2423 // tell if two classes have the same enclosing class (at package level)
  2423 // tell if two classes have the same enclosing class (at package level)
  2424 bool InstanceKlass::is_same_package_member_impl(instanceKlassHandle class1,
  2424 bool InstanceKlass::is_same_package_member_impl(instanceKlassHandle class1,
  2425                                                 Klass* class2_oop, TRAPS) {
  2425                                                 Klass* class2_oop, TRAPS) {
  2426   if (class2_oop == class1())                       return true;
  2426   if (class2_oop == class1())                       return true;
  2427   if (!class2_oop->oop_is_instance())  return false;
  2427   if (!class2_oop->is_instance_klass())  return false;
  2428   instanceKlassHandle class2(THREAD, class2_oop);
  2428   instanceKlassHandle class2(THREAD, class2_oop);
  2429 
  2429 
  2430   // must be in same package before we try anything else
  2430   // must be in same package before we try anything else
  2431   if (!class1->is_same_class_package(class2->class_loader(), class2->name()))
  2431   if (!class1->is_same_class_package(class2->class_loader(), class2->name()))
  2432     return false;
  2432     return false;
  2965     array_klass->print_value_on_maybe_null(st);
  2965     array_klass->print_value_on_maybe_null(st);
  2966     st->cr();
  2966     st->cr();
  2967     st->print_cr(BULLET"fake entry for oop_size: %d", java_lang_Class::oop_size(obj));
  2967     st->print_cr(BULLET"fake entry for oop_size: %d", java_lang_Class::oop_size(obj));
  2968     st->print_cr(BULLET"fake entry for static_oop_field_count: %d", java_lang_Class::static_oop_field_count(obj));
  2968     st->print_cr(BULLET"fake entry for static_oop_field_count: %d", java_lang_Class::static_oop_field_count(obj));
  2969     Klass* real_klass = java_lang_Class::as_Klass(obj);
  2969     Klass* real_klass = java_lang_Class::as_Klass(obj);
  2970     if (real_klass != NULL && real_klass->oop_is_instance()) {
  2970     if (real_klass != NULL && real_klass->is_instance_klass()) {
  2971       InstanceKlass::cast(real_klass)->do_local_static_fields(&print_field);
  2971       InstanceKlass::cast(real_klass)->do_local_static_fields(&print_field);
  2972     }
  2972     }
  2973   } else if (this == SystemDictionary::MethodType_klass()) {
  2973   } else if (this == SystemDictionary::MethodType_klass()) {
  2974     st->print(BULLET"signature: ");
  2974     st->print(BULLET"signature: ");
  2975     java_lang_invoke_MethodType::print_signature(obj, st);
  2975     java_lang_invoke_MethodType::print_signature(obj, st);