src/share/vm/oops/objArrayOop.hpp

Print this page
rev 6796 : [mq]: templateOopIterate


  95       oop_store(obj_at_addr<oop>(index), value);
  96     }
  97   }
  98 
  99   oop atomic_compare_exchange_oop(int index, oop exchange_value, oop compare_value);
 100 
 101   // Sizing
 102   static int header_size()    { return arrayOopDesc::header_size(T_OBJECT); }
 103   int object_size()           { return object_size(length()); }
 104 
 105   static int object_size(int length) {
 106     // This returns the object size in HeapWords.
 107     uint asz = array_size(length);
 108     uint osz = align_object_size(header_size() + asz);
 109     assert(osz >= asz,   "no overflow");
 110     assert((int)osz > 0, "no overflow");
 111     return (int)osz;
 112   }
 113 
 114   // special iterators for index ranges, returns size of object
 115 #define ObjArrayOop_OOP_ITERATE_DECL(OopClosureType, nv_suffix)     \
 116   int oop_iterate_range(OopClosureType* blk, int start, int end);
 117 
 118   ALL_OOP_OOP_ITERATE_CLOSURES_1(ObjArrayOop_OOP_ITERATE_DECL)
 119   ALL_OOP_OOP_ITERATE_CLOSURES_2(ObjArrayOop_OOP_ITERATE_DECL)
 120 };
 121 
 122 #endif // SHARE_VM_OOPS_OBJARRAYOOP_HPP


  95       oop_store(obj_at_addr<oop>(index), value);
  96     }
  97   }
  98 
  99   oop atomic_compare_exchange_oop(int index, oop exchange_value, oop compare_value);
 100 
 101   // Sizing
 102   static int header_size()    { return arrayOopDesc::header_size(T_OBJECT); }
 103   int object_size()           { return object_size(length()); }
 104 
 105   static int object_size(int length) {
 106     // This returns the object size in HeapWords.
 107     uint asz = array_size(length);
 108     uint osz = align_object_size(header_size() + asz);
 109     assert(osz >= asz,   "no overflow");
 110     assert((int)osz > 0, "no overflow");
 111     return (int)osz;
 112   }
 113 
 114   // special iterators for index ranges, returns size of object
 115   template <bool nv, typename OopClosureType>
 116   int oop_iterate_range_t(OopClosureType* blk, int start, int end);



 117 };
 118 
 119 #endif // SHARE_VM_OOPS_OBJARRAYOOP_HPP