hotspot/src/share/vm/oops/instanceMirrorKlass.cpp
changeset 29687 281ffb2398cd
parent 26316 93f6b40c038b
child 29688 2a0cad173059
equal deleted inserted replaced
29686:19c73d0e1f4c 29687:281ffb2398cd
   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);                                  \