src/share/vm/oops/klass.cpp
Index Unified diffs Context diffs Sdiffs Patch New Old Previous File Next File 7118863 Sdiff src/share/vm/oops

src/share/vm/oops/klass.cpp

Print this page




 127 #endif
 128   ShouldNotReachHere();
 129   return NULL;
 130 }
 131 
 132 klassOop Klass::base_create_klass_oop(KlassHandle& klass, int size,
 133                                       const Klass_vtbl& vtbl, TRAPS) {
 134   size = align_object_size(size);
 135   // allocate and initialize vtable
 136   Klass*   kl = (Klass*) vtbl.allocate_permanent(klass, size, CHECK_NULL);
 137   klassOop k  = kl->as_klassOop();
 138 
 139   { // Preinitialize supertype information.
 140     // A later call to initialize_supers() may update these settings:
 141     kl->set_super(NULL);
 142     for (juint i = 0; i < Klass::primary_super_limit(); i++) {
 143       kl->_primary_supers[i] = NULL;
 144     }
 145     kl->set_secondary_supers(NULL);
 146     oop_store_without_check((oop*) &kl->_primary_supers[0], k);
 147     kl->set_super_check_offset(primary_supers_offset_in_bytes() + sizeof(oopDesc));
 148   }
 149 
 150   kl->set_java_mirror(NULL);
 151   kl->set_modifier_flags(0);
 152   kl->set_layout_helper(Klass::_lh_neutral_value);
 153   kl->set_name(NULL);
 154   AccessFlags af;
 155   af.set_flags(0);
 156   kl->set_access_flags(af);
 157   kl->set_subklass(NULL);
 158   kl->set_next_sibling(NULL);
 159   kl->set_alloc_count(0);
 160   kl->set_alloc_size(0);
 161 
 162   kl->set_prototype_header(markOopDesc::prototype());
 163   kl->set_biased_lock_revocation_count(0);
 164   kl->set_last_biased_lock_bulk_revocation_time(0);
 165 
 166   return k;
 167 }




 127 #endif
 128   ShouldNotReachHere();
 129   return NULL;
 130 }
 131 
 132 klassOop Klass::base_create_klass_oop(KlassHandle& klass, int size,
 133                                       const Klass_vtbl& vtbl, TRAPS) {
 134   size = align_object_size(size);
 135   // allocate and initialize vtable
 136   Klass*   kl = (Klass*) vtbl.allocate_permanent(klass, size, CHECK_NULL);
 137   klassOop k  = kl->as_klassOop();
 138 
 139   { // Preinitialize supertype information.
 140     // A later call to initialize_supers() may update these settings:
 141     kl->set_super(NULL);
 142     for (juint i = 0; i < Klass::primary_super_limit(); i++) {
 143       kl->_primary_supers[i] = NULL;
 144     }
 145     kl->set_secondary_supers(NULL);
 146     oop_store_without_check((oop*) &kl->_primary_supers[0], k);
 147     kl->set_super_check_offset(primary_supers_offset_in_bytes());
 148   }
 149 
 150   kl->set_java_mirror(NULL);
 151   kl->set_modifier_flags(0);
 152   kl->set_layout_helper(Klass::_lh_neutral_value);
 153   kl->set_name(NULL);
 154   AccessFlags af;
 155   af.set_flags(0);
 156   kl->set_access_flags(af);
 157   kl->set_subklass(NULL);
 158   kl->set_next_sibling(NULL);
 159   kl->set_alloc_count(0);
 160   kl->set_alloc_size(0);
 161 
 162   kl->set_prototype_header(markOopDesc::prototype());
 163   kl->set_biased_lock_revocation_count(0);
 164   kl->set_last_biased_lock_bulk_revocation_time(0);
 165 
 166   return k;
 167 }


src/share/vm/oops/klass.cpp
Index Unified diffs Context diffs Sdiffs Patch New Old Previous File Next File