270 // Like "forward_to", but inserts the forwarding pointer atomically.
271 // Exactly one thread succeeds in inserting the forwarding pointer, and
272 // this call returns "NULL" for that thread; any other thread has the
273 // value of the forwarding pointer returned and does not modify "this".
274 inline oop forward_to_atomic(oop p, atomic_memory_order order = memory_order_conservative);
275
276 inline oop forwardee() const;
277 inline oop forwardee_acquire() const;
278
279 // Age of object during scavenge
280 inline uint age() const;
281 inline void incr_age();
282
283 // mark-sweep support
284 void follow_body(int begin, int end);
285
286 // Garbage Collection support
287
288 #if INCLUDE_PARALLELGC
289 // Parallel Compact
290 inline void pc_follow_contents(ParCompactionManager* cm);
291 inline void pc_update_contents(ParCompactionManager* cm);
292 #endif
293
294 template <typename OopClosureType>
295 inline void oop_iterate(OopClosureType* cl);
296
297 template <typename OopClosureType>
298 inline void oop_iterate(OopClosureType* cl, MemRegion mr);
299
300 template <typename OopClosureType>
301 inline int oop_iterate_size(OopClosureType* cl);
302
303 template <typename OopClosureType>
304 inline int oop_iterate_size(OopClosureType* cl, MemRegion mr);
305
306 template <typename OopClosureType>
307 inline void oop_iterate_backwards(OopClosureType* cl);
308
309 inline static bool is_instanceof_or_null(oop obj, Klass* klass);
|
270 // Like "forward_to", but inserts the forwarding pointer atomically.
271 // Exactly one thread succeeds in inserting the forwarding pointer, and
272 // this call returns "NULL" for that thread; any other thread has the
273 // value of the forwarding pointer returned and does not modify "this".
274 inline oop forward_to_atomic(oop p, atomic_memory_order order = memory_order_conservative);
275
276 inline oop forwardee() const;
277 inline oop forwardee_acquire() const;
278
279 // Age of object during scavenge
280 inline uint age() const;
281 inline void incr_age();
282
283 // mark-sweep support
284 void follow_body(int begin, int end);
285
286 // Garbage Collection support
287
288 #if INCLUDE_PARALLELGC
289 // Parallel Compact
290 inline void pc_update_contents(ParCompactionManager* cm);
291 #endif
292
293 template <typename OopClosureType>
294 inline void oop_iterate(OopClosureType* cl);
295
296 template <typename OopClosureType>
297 inline void oop_iterate(OopClosureType* cl, MemRegion mr);
298
299 template <typename OopClosureType>
300 inline int oop_iterate_size(OopClosureType* cl);
301
302 template <typename OopClosureType>
303 inline int oop_iterate_size(OopClosureType* cl, MemRegion mr);
304
305 template <typename OopClosureType>
306 inline void oop_iterate_backwards(OopClosureType* cl);
307
308 inline static bool is_instanceof_or_null(oop obj, Klass* klass);
|