equal
deleted
inserted
replaced
248 #define InstanceMirrorKlass_OOP_OOP_ITERATE_DEFN(OopClosureType, nv_suffix) \ |
248 #define InstanceMirrorKlass_OOP_OOP_ITERATE_DEFN(OopClosureType, nv_suffix) \ |
249 \ |
249 \ |
250 int InstanceMirrorKlass:: \ |
250 int InstanceMirrorKlass:: \ |
251 oop_oop_iterate##nv_suffix(oop obj, OopClosureType* closure) { \ |
251 oop_oop_iterate##nv_suffix(oop obj, OopClosureType* closure) { \ |
252 /* Get size before changing pointers */ \ |
252 /* Get size before changing pointers */ \ |
253 SpecializationStats::record_iterate_call##nv_suffix(SpecializationStats::irk); \ |
|
254 \ |
|
255 InstanceKlass::oop_oop_iterate##nv_suffix(obj, closure); \ |
253 InstanceKlass::oop_oop_iterate##nv_suffix(obj, closure); \ |
256 \ |
254 \ |
257 if_do_metadata_checked(closure, nv_suffix) { \ |
255 if_do_metadata_checked(closure, nv_suffix) { \ |
258 Klass* klass = java_lang_Class::as_Klass(obj); \ |
256 Klass* klass = java_lang_Class::as_Klass(obj); \ |
259 /* We'll get NULL for primitive mirrors. */ \ |
257 /* We'll get NULL for primitive mirrors. */ \ |
273 #define InstanceMirrorKlass_OOP_OOP_ITERATE_BACKWARDS_DEFN(OopClosureType, nv_suffix) \ |
271 #define InstanceMirrorKlass_OOP_OOP_ITERATE_BACKWARDS_DEFN(OopClosureType, nv_suffix) \ |
274 \ |
272 \ |
275 int InstanceMirrorKlass:: \ |
273 int InstanceMirrorKlass:: \ |
276 oop_oop_iterate_backwards##nv_suffix(oop obj, OopClosureType* closure) { \ |
274 oop_oop_iterate_backwards##nv_suffix(oop obj, OopClosureType* closure) { \ |
277 /* Get size before changing pointers */ \ |
275 /* Get size before changing pointers */ \ |
278 SpecializationStats::record_iterate_call##nv_suffix(SpecializationStats::irk); \ |
|
279 \ |
|
280 InstanceKlass::oop_oop_iterate_backwards##nv_suffix(obj, closure); \ |
276 InstanceKlass::oop_oop_iterate_backwards##nv_suffix(obj, closure); \ |
281 \ |
277 \ |
282 if (UseCompressedOops) { \ |
278 if (UseCompressedOops) { \ |
283 InstanceMirrorKlass_SPECIALIZED_OOP_ITERATE_DEFN(narrowOop, nv_suffix); \ |
279 InstanceMirrorKlass_SPECIALIZED_OOP_ITERATE_DEFN(narrowOop, nv_suffix); \ |
284 } else { \ |
280 } else { \ |
292 \ |
288 \ |
293 int InstanceMirrorKlass:: \ |
289 int InstanceMirrorKlass:: \ |
294 oop_oop_iterate##nv_suffix##_m(oop obj, \ |
290 oop_oop_iterate##nv_suffix##_m(oop obj, \ |
295 OopClosureType* closure, \ |
291 OopClosureType* closure, \ |
296 MemRegion mr) { \ |
292 MemRegion mr) { \ |
297 SpecializationStats::record_iterate_call##nv_suffix(SpecializationStats::irk); \ |
|
298 \ |
|
299 InstanceKlass::oop_oop_iterate##nv_suffix##_m(obj, closure, mr); \ |
293 InstanceKlass::oop_oop_iterate##nv_suffix##_m(obj, closure, mr); \ |
300 \ |
294 \ |
301 if_do_metadata_checked(closure, nv_suffix) { \ |
295 if_do_metadata_checked(closure, nv_suffix) { \ |
302 if (mr.contains(obj)) { \ |
296 if (mr.contains(obj)) { \ |
303 Klass* klass = java_lang_Class::as_Klass(obj); \ |
297 Klass* klass = java_lang_Class::as_Klass(obj); \ |