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");
|