< prev index next >
src/hotspot/share/oops/oop.hpp
Print this page
*** 23,33 ****
*/
#ifndef SHARE_VM_OOPS_OOP_HPP
#define SHARE_VM_OOPS_OOP_HPP
- #include "gc/shared/specialized_oop_closures.hpp"
#include "memory/iterator.hpp"
#include "memory/memRegion.hpp"
#include "oops/access.hpp"
#include "oops/metadata.hpp"
#include "runtime/atomic.hpp"
--- 23,32 ----
*** 286,321 ****
inline void pc_update_contents(ParCompactionManager* cm);
// Parallel Scavenge
inline void ps_push_contents(PSPromotionManager* pm);
#endif
! // iterators, returns size of object
! #define OOP_ITERATE_DECL(OopClosureType, nv_suffix) \
! inline void oop_iterate(OopClosureType* blk); \
! inline void oop_iterate(OopClosureType* blk, MemRegion mr); // Only in mr.
! ALL_OOP_OOP_ITERATE_CLOSURES_1(OOP_ITERATE_DECL)
! ALL_OOP_OOP_ITERATE_CLOSURES_2(OOP_ITERATE_DECL)
! #define OOP_ITERATE_SIZE_DECL(OopClosureType, nv_suffix) \
! inline int oop_iterate_size(OopClosureType* blk); \
! inline int oop_iterate_size(OopClosureType* blk, MemRegion mr); // Only in mr.
! ALL_OOP_OOP_ITERATE_CLOSURES_1(OOP_ITERATE_SIZE_DECL)
! ALL_OOP_OOP_ITERATE_CLOSURES_2(OOP_ITERATE_SIZE_DECL)
!
!
! #if INCLUDE_OOP_OOP_ITERATE_BACKWARDS
!
! #define OOP_ITERATE_BACKWARDS_DECL(OopClosureType, nv_suffix) \
! inline void oop_iterate_backwards(OopClosureType* blk);
!
! ALL_OOP_OOP_ITERATE_CLOSURES_1(OOP_ITERATE_BACKWARDS_DECL)
! ALL_OOP_OOP_ITERATE_CLOSURES_2(OOP_ITERATE_BACKWARDS_DECL)
!
! #endif // INCLUDE_OOP_OOP_ITERATE_BACKWARDS
inline int oop_iterate_no_header(OopClosure* bk);
inline int oop_iterate_no_header(OopClosure* bk, MemRegion mr);
inline static bool is_instanceof_or_null(oop obj, Klass* klass);
--- 285,308 ----
inline void pc_update_contents(ParCompactionManager* cm);
// Parallel Scavenge
inline void ps_push_contents(PSPromotionManager* pm);
#endif
+ template <typename OopClosureType>
+ inline void oop_iterate(OopClosureType* cl);
! template <typename OopClosureType>
! inline void oop_iterate(OopClosureType* cl, MemRegion mr);
! template <typename OopClosureType>
! inline int oop_iterate_size(OopClosureType* cl);
! template <typename OopClosureType>
! inline int oop_iterate_size(OopClosureType* cl, MemRegion mr);
! template <typename OopClosureType>
! inline void oop_iterate_backwards(OopClosureType* cl);
inline int oop_iterate_no_header(OopClosure* bk);
inline int oop_iterate_no_header(OopClosure* bk, MemRegion mr);
inline static bool is_instanceof_or_null(oop obj, Klass* klass);
< prev index next >