< prev index next >

src/share/vm/oops/typeArrayKlass.cpp

Print this page
rev 7183 : autospecialized oop_iterate using SFINAE and templates


 209   // Performance tweak: We skip iterating over the klass pointer since we
 210   // know that Universe::TypeArrayKlass never moves.
 211 }
 212 
 213 #if INCLUDE_ALL_GCS
 214 void TypeArrayKlass::oop_follow_contents(ParCompactionManager* cm, oop obj) {
 215   assert(obj->is_typeArray(),"must be a type array");
 216   // Performance tweak: We skip iterating over the klass pointer since we
 217   // know that Universe::TypeArrayKlass never moves.
 218 }
 219 #endif // INCLUDE_ALL_GCS
 220 
 221 int TypeArrayKlass::oop_adjust_pointers(oop obj) {
 222   assert(obj->is_typeArray(),"must be a type array");
 223   typeArrayOop t = typeArrayOop(obj);
 224   // Performance tweak: We skip iterating over the klass pointer since we
 225   // know that Universe::TypeArrayKlass never moves.
 226   return t->object_size();
 227 }
 228 







 229 int TypeArrayKlass::oop_oop_iterate(oop obj, ExtendedOopClosure* blk) {
 230   assert(obj->is_typeArray(),"must be a type array");
 231   typeArrayOop t = typeArrayOop(obj);
 232   // Performance tweak: We skip iterating over the klass pointer since we
 233   // know that Universe::TypeArrayKlass never moves.
 234   return t->object_size();
 235 }
 236 
 237 int TypeArrayKlass::oop_oop_iterate_m(oop obj, ExtendedOopClosure* blk, MemRegion mr) {
 238   assert(obj->is_typeArray(),"must be a type array");
 239   typeArrayOop t = typeArrayOop(obj);
 240   // Performance tweak: We skip iterating over the klass pointer since we
 241   // know that Universe::TypeArrayKlass never moves.
 242   return t->object_size();
 243 }
 244 
 245 #if INCLUDE_ALL_GCS
 246 void TypeArrayKlass::oop_push_contents(PSPromotionManager* pm, oop obj) {
 247   ShouldNotReachHere();
 248   assert(obj->is_typeArray(),"must be a type array");




 209   // Performance tweak: We skip iterating over the klass pointer since we
 210   // know that Universe::TypeArrayKlass never moves.
 211 }
 212 
 213 #if INCLUDE_ALL_GCS
 214 void TypeArrayKlass::oop_follow_contents(ParCompactionManager* cm, oop obj) {
 215   assert(obj->is_typeArray(),"must be a type array");
 216   // Performance tweak: We skip iterating over the klass pointer since we
 217   // know that Universe::TypeArrayKlass never moves.
 218 }
 219 #endif // INCLUDE_ALL_GCS
 220 
 221 int TypeArrayKlass::oop_adjust_pointers(oop obj) {
 222   assert(obj->is_typeArray(),"must be a type array");
 223   typeArrayOop t = typeArrayOop(obj);
 224   // Performance tweak: We skip iterating over the klass pointer since we
 225   // know that Universe::TypeArrayKlass never moves.
 226   return t->object_size();
 227 }
 228 
 229 int TypeArrayKlass::get_linear_oop_intervals(oop obj, OopInterval* &start, int &size) {
 230   assert(obj->is_typeArray(),"must be a type array");
 231   typeArrayOop a = typeArrayOop(obj);
 232   size = a->object_size();
 233   return 0; // there are no oops in here!
 234 }
 235 
 236 int TypeArrayKlass::oop_oop_iterate(oop obj, ExtendedOopClosure* blk) {
 237   assert(obj->is_typeArray(),"must be a type array");
 238   typeArrayOop t = typeArrayOop(obj);
 239   // Performance tweak: We skip iterating over the klass pointer since we
 240   // know that Universe::TypeArrayKlass never moves.
 241   return t->object_size();
 242 }
 243 
 244 int TypeArrayKlass::oop_oop_iterate_m(oop obj, ExtendedOopClosure* blk, MemRegion mr) {
 245   assert(obj->is_typeArray(),"must be a type array");
 246   typeArrayOop t = typeArrayOop(obj);
 247   // Performance tweak: We skip iterating over the klass pointer since we
 248   // know that Universe::TypeArrayKlass never moves.
 249   return t->object_size();
 250 }
 251 
 252 #if INCLUDE_ALL_GCS
 253 void TypeArrayKlass::oop_push_contents(PSPromotionManager* pm, oop obj) {
 254   ShouldNotReachHere();
 255   assert(obj->is_typeArray(),"must be a type array");


< prev index next >