src/hotspot/share/oops/arrayKlass.hpp
changeset 49982 9042ffe5b7fe
parent 49948 ff8dbb56740a
child 50735 2f2af62dfac7
equal deleted inserted replaced
49981:bd0a95bec96b 49982:9042ffe5b7fe
   150 // Used to generate the declarations in the *ArrayKlass header files.
   150 // Used to generate the declarations in the *ArrayKlass header files.
   151 
   151 
   152 #define OOP_OOP_ITERATE_DECL_RANGE(OopClosureType, nv_suffix)                                   \
   152 #define OOP_OOP_ITERATE_DECL_RANGE(OopClosureType, nv_suffix)                                   \
   153   void oop_oop_iterate_range##nv_suffix(oop obj, OopClosureType* closure, int start, int end);
   153   void oop_oop_iterate_range##nv_suffix(oop obj, OopClosureType* closure, int start, int end);
   154 
   154 
   155 #if INCLUDE_ALL_GCS
   155 #if INCLUDE_OOP_OOP_ITERATE_BACKWARDS
   156 // Named NO_BACKWARDS because the definition used by *ArrayKlass isn't reversed, see below.
   156 // Named NO_BACKWARDS because the definition used by *ArrayKlass isn't reversed, see below.
   157 #define OOP_OOP_ITERATE_DECL_NO_BACKWARDS(OopClosureType, nv_suffix)            \
   157 #define OOP_OOP_ITERATE_DECL_NO_BACKWARDS(OopClosureType, nv_suffix)            \
   158   void oop_oop_iterate_backwards##nv_suffix(oop obj, OopClosureType* closure);
   158   void oop_oop_iterate_backwards##nv_suffix(oop obj, OopClosureType* closure);
   159 #endif // INCLUDE_ALL_GCS
   159 #endif
   160 
   160 
   161 
   161 
   162 // Array oop iteration macros for definitions.
   162 // Array oop iteration macros for definitions.
   163 // Used to generate the definitions in the *ArrayKlass.inline.hpp files.
   163 // Used to generate the definitions in the *ArrayKlass.inline.hpp files.
   164 
   164 
   166                                                                                                           \
   166                                                                                                           \
   167 void KlassType::oop_oop_iterate_range##nv_suffix(oop obj, OopClosureType* closure, int start, int end) {  \
   167 void KlassType::oop_oop_iterate_range##nv_suffix(oop obj, OopClosureType* closure, int start, int end) {  \
   168   oop_oop_iterate_range<nvs_to_bool(nv_suffix)>(obj, closure, start, end);                                \
   168   oop_oop_iterate_range<nvs_to_bool(nv_suffix)>(obj, closure, start, end);                                \
   169 }
   169 }
   170 
   170 
   171 #if INCLUDE_ALL_GCS
   171 #if INCLUDE_OOP_OOP_ITERATE_BACKWARDS
   172 #define OOP_OOP_ITERATE_DEFN_NO_BACKWARDS(KlassType, OopClosureType, nv_suffix)           \
   172 #define OOP_OOP_ITERATE_DEFN_NO_BACKWARDS(KlassType, OopClosureType, nv_suffix)           \
   173 void KlassType::oop_oop_iterate_backwards##nv_suffix(oop obj, OopClosureType* closure) {  \
   173 void KlassType::oop_oop_iterate_backwards##nv_suffix(oop obj, OopClosureType* closure) {  \
   174   /* No reverse implementation ATM. */                                                    \
   174   /* No reverse implementation ATM. */                                                    \
   175   oop_oop_iterate<nvs_to_bool(nv_suffix)>(obj, closure);                                  \
   175   oop_oop_iterate<nvs_to_bool(nv_suffix)>(obj, closure);                                  \
   176 }
   176 }