equal
deleted
inserted
replaced
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 } |