src/share/vm/oops/instanceKlass.cpp

changeset 4572
927a311d00f9
parent 4544
3c9bc17b9403
child 4693
872b3feace55
child 4712
3efdfd6ddbf2
     1.1 --- a/src/share/vm/oops/instanceKlass.cpp	Fri Feb 08 16:56:03 2013 -0800
     1.2 +++ b/src/share/vm/oops/instanceKlass.cpp	Mon Feb 11 14:06:22 2013 -0500
     1.3 @@ -166,20 +166,19 @@
     1.4  volatile int InstanceKlass::_total_instanceKlass_count = 0;
     1.5  
     1.6  Klass* InstanceKlass::allocate_instance_klass(ClassLoaderData* loader_data,
     1.7 -                                                int vtable_len,
     1.8 -                                                int itable_len,
     1.9 -                                                int static_field_size,
    1.10 -                                                int nonstatic_oop_map_size,
    1.11 -                                                ReferenceType rt,
    1.12 -                                                AccessFlags access_flags,
    1.13 -                                                Symbol* name,
    1.14 +                                              int vtable_len,
    1.15 +                                              int itable_len,
    1.16 +                                              int static_field_size,
    1.17 +                                              int nonstatic_oop_map_size,
    1.18 +                                              ReferenceType rt,
    1.19 +                                              AccessFlags access_flags,
    1.20 +                                              Symbol* name,
    1.21                                                Klass* super_klass,
    1.22 -                                                KlassHandle host_klass,
    1.23 -                                                TRAPS) {
    1.24 +                                              bool is_anonymous,
    1.25 +                                              TRAPS) {
    1.26  
    1.27    int size = InstanceKlass::size(vtable_len, itable_len, nonstatic_oop_map_size,
    1.28 -                                 access_flags.is_interface(),
    1.29 -                                 !host_klass.is_null());
    1.30 +                                 access_flags.is_interface(), is_anonymous);
    1.31  
    1.32    // Allocation
    1.33    InstanceKlass* ik;
    1.34 @@ -187,25 +186,25 @@
    1.35      if (name == vmSymbols::java_lang_Class()) {
    1.36        ik = new (loader_data, size, THREAD) InstanceMirrorKlass(
    1.37          vtable_len, itable_len, static_field_size, nonstatic_oop_map_size, rt,
    1.38 -        access_flags, !host_klass.is_null());
    1.39 +        access_flags, is_anonymous);
    1.40      } else if (name == vmSymbols::java_lang_ClassLoader() ||
    1.41            (SystemDictionary::ClassLoader_klass_loaded() &&
    1.42            super_klass != NULL &&
    1.43            super_klass->is_subtype_of(SystemDictionary::ClassLoader_klass()))) {
    1.44        ik = new (loader_data, size, THREAD) InstanceClassLoaderKlass(
    1.45          vtable_len, itable_len, static_field_size, nonstatic_oop_map_size, rt,
    1.46 -        access_flags, !host_klass.is_null());
    1.47 +        access_flags, is_anonymous);
    1.48      } else {
    1.49        // normal class
    1.50        ik = new (loader_data, size, THREAD) InstanceKlass(
    1.51          vtable_len, itable_len, static_field_size, nonstatic_oop_map_size, rt,
    1.52 -        access_flags, !host_klass.is_null());
    1.53 +        access_flags, is_anonymous);
    1.54      }
    1.55    } else {
    1.56      // reference klass
    1.57      ik = new (loader_data, size, THREAD) InstanceRefKlass(
    1.58          vtable_len, itable_len, static_field_size, nonstatic_oop_map_size, rt,
    1.59 -        access_flags, !host_klass.is_null());
    1.60 +        access_flags, is_anonymous);
    1.61    }
    1.62  
    1.63    Atomic::inc(&_total_instanceKlass_count);
    1.64 @@ -2793,7 +2792,10 @@
    1.65      st->print("%s", source_debug_extension());
    1.66      st->cr();
    1.67    }
    1.68 -  st->print(BULLET"annotations:       "); annotations()->print_value_on(st); st->cr();
    1.69 +  st->print(BULLET"class annotations:       "); class_annotations()->print_value_on(st); st->cr();
    1.70 +  st->print(BULLET"class type annotations:  "); class_type_annotations()->print_value_on(st); st->cr();
    1.71 +  st->print(BULLET"field annotations:       "); fields_annotations()->print_value_on(st); st->cr();
    1.72 +  st->print(BULLET"field type annotations:  "); fields_type_annotations()->print_value_on(st); st->cr();
    1.73    {
    1.74      ResourceMark rm;
    1.75      // PreviousVersionInfo objects returned via PreviousVersionWalker

mercurial