< prev index next >

src/share/vm/oops/klass.cpp

Print this page




 168   set_secondary_super_cache(NULL);
 169   _primary_supers[0] = k;
 170   set_super_check_offset(in_bytes(primary_supers_offset()));
 171 
 172   // The constructor is used from init_self_patching_vtbl_list,
 173   // which doesn't zero out the memory before calling the constructor.
 174   // Need to set the field explicitly to not hit an assert that the field
 175   // should be NULL before setting it.
 176   _java_mirror = NULL;
 177 
 178   set_modifier_flags(0);
 179   set_layout_helper(Klass::_lh_neutral_value);
 180   set_name(NULL);
 181   AccessFlags af;
 182   af.set_flags(0);
 183   set_access_flags(af);
 184   set_subklass(NULL);
 185   set_next_sibling(NULL);
 186   set_next_link(NULL);
 187   TRACE_INIT_ID(this);

 188 
 189   set_prototype_header(markOopDesc::prototype());
 190   set_biased_lock_revocation_count(0);
 191   set_last_biased_lock_bulk_revocation_time(0);
 192 
 193   // The klass doesn't have any references at this point.
 194   clear_modified_oops();
 195   clear_accumulated_modified_oops();
 196   _shared_class_path_index = -1;
 197 }
 198 
 199 jint Klass::array_layout_helper(BasicType etype) {
 200   assert(etype >= T_BOOLEAN && etype <= T_OBJECT, "valid etype");
 201   // Note that T_ARRAY is not allowed here.
 202   int  hsize = arrayOopDesc::base_offset_in_bytes(etype);
 203   int  esize = type2aelembytes(etype);
 204   bool isobj = (etype == T_OBJECT);
 205   int  tag   =  isobj ? _lh_array_tag_obj_value : _lh_array_tag_type_value;
 206   int lh = array_layout_helper(tag, hsize, etype, exact_log2(esize));
 207 




 168   set_secondary_super_cache(NULL);
 169   _primary_supers[0] = k;
 170   set_super_check_offset(in_bytes(primary_supers_offset()));
 171 
 172   // The constructor is used from init_self_patching_vtbl_list,
 173   // which doesn't zero out the memory before calling the constructor.
 174   // Need to set the field explicitly to not hit an assert that the field
 175   // should be NULL before setting it.
 176   _java_mirror = NULL;
 177 
 178   set_modifier_flags(0);
 179   set_layout_helper(Klass::_lh_neutral_value);
 180   set_name(NULL);
 181   AccessFlags af;
 182   af.set_flags(0);
 183   set_access_flags(af);
 184   set_subklass(NULL);
 185   set_next_sibling(NULL);
 186   set_next_link(NULL);
 187   TRACE_INIT_ID(this);
 188   EVTRACE_INIT_TRACKED_CLASS;
 189 
 190   set_prototype_header(markOopDesc::prototype());
 191   set_biased_lock_revocation_count(0);
 192   set_last_biased_lock_bulk_revocation_time(0);
 193 
 194   // The klass doesn't have any references at this point.
 195   clear_modified_oops();
 196   clear_accumulated_modified_oops();
 197   _shared_class_path_index = -1;
 198 }
 199 
 200 jint Klass::array_layout_helper(BasicType etype) {
 201   assert(etype >= T_BOOLEAN && etype <= T_OBJECT, "valid etype");
 202   // Note that T_ARRAY is not allowed here.
 203   int  hsize = arrayOopDesc::base_offset_in_bytes(etype);
 204   int  esize = type2aelembytes(etype);
 205   bool isobj = (etype == T_OBJECT);
 206   int  tag   =  isobj ? _lh_array_tag_obj_value : _lh_array_tag_type_value;
 207   int lh = array_layout_helper(tag, hsize, etype, exact_log2(esize));
 208 


< prev index next >