hotspot/src/share/vm/oops/klass.cpp
changeset 202 dc13bf0e5d5d
parent 1 489c9b5090e2
child 360 21d113ecbf6a
equal deleted inserted replaced
201:7893b7ce2d8d 202:dc13bf0e5d5d
   180 
   180 
   181 jint Klass::array_layout_helper(BasicType etype) {
   181 jint Klass::array_layout_helper(BasicType etype) {
   182   assert(etype >= T_BOOLEAN && etype <= T_OBJECT, "valid etype");
   182   assert(etype >= T_BOOLEAN && etype <= T_OBJECT, "valid etype");
   183   // Note that T_ARRAY is not allowed here.
   183   // Note that T_ARRAY is not allowed here.
   184   int  hsize = arrayOopDesc::base_offset_in_bytes(etype);
   184   int  hsize = arrayOopDesc::base_offset_in_bytes(etype);
   185   int  esize = type2aelembytes[etype];
   185   int  esize = type2aelembytes(etype);
   186   bool isobj = (etype == T_OBJECT);
   186   bool isobj = (etype == T_OBJECT);
   187   int  tag   =  isobj ? _lh_array_tag_obj_value : _lh_array_tag_type_value;
   187   int  tag   =  isobj ? _lh_array_tag_obj_value : _lh_array_tag_type_value;
   188   int lh = array_layout_helper(tag, hsize, etype, exact_log2(esize));
   188   int lh = array_layout_helper(tag, hsize, etype, exact_log2(esize));
   189 
   189 
   190   assert(lh < (int)_lh_neutral_value, "must look like an array layout");
   190   assert(lh < (int)_lh_neutral_value, "must look like an array layout");