< prev index next >

src/share/vm/oops/instanceClassLoaderKlass.hpp

Print this page
rev 8366 : 8080746: Refactor oop iteration macros to be more general
Reviewed-by:


  70  private:
  71   // Forward iteration
  72   // Iterate over the oop fields and metadata.
  73   template <bool nv, class OopClosureType>
  74   inline int oop_oop_iterate(oop obj, OopClosureType* closure);
  75 
  76 #if INCLUDE_ALL_GCS
  77   // Reverse iteration
  78   // Iterate over the oop fields and metadata.
  79   template <bool nv, class OopClosureType>
  80   inline int oop_oop_iterate_reverse(oop obj, OopClosureType* closure);
  81 #endif
  82 
  83   // Bounded range iteration
  84   // Iterate over the oop fields and metadata.
  85   template <bool nv, class OopClosureType>
  86   inline int oop_oop_iterate_bounded(oop obj, OopClosureType* closure, MemRegion mr);
  87 
  88  public:
  89 
  90 #define InstanceClassLoaderKlass_OOP_OOP_ITERATE_DECL(OopClosureType, nv_suffix)   \
  91   int oop_oop_iterate##nv_suffix(oop obj, OopClosureType* blk);                    \
  92   int oop_oop_iterate##nv_suffix##_m(oop obj, OopClosureType* blk, MemRegion mr);
  93 
  94   ALL_OOP_OOP_ITERATE_CLOSURES_1(InstanceClassLoaderKlass_OOP_OOP_ITERATE_DECL)
  95   ALL_OOP_OOP_ITERATE_CLOSURES_2(InstanceClassLoaderKlass_OOP_OOP_ITERATE_DECL)
  96 
  97 #if INCLUDE_ALL_GCS
  98 #define InstanceClassLoaderKlass_OOP_OOP_ITERATE_BACKWARDS_DECL(OopClosureType, nv_suffix)  \
  99   int oop_oop_iterate_backwards##nv_suffix(oop obj, OopClosureType* blk);
 100 
 101   ALL_OOP_OOP_ITERATE_CLOSURES_1(InstanceClassLoaderKlass_OOP_OOP_ITERATE_BACKWARDS_DECL)
 102   ALL_OOP_OOP_ITERATE_CLOSURES_2(InstanceClassLoaderKlass_OOP_OOP_ITERATE_BACKWARDS_DECL)
 103 #endif // INCLUDE_ALL_GCS
 104 
 105 };
 106 
 107 #endif // SHARE_VM_OOPS_INSTANCECLASSLOADERKLASS_HPP


  70  private:
  71   // Forward iteration
  72   // Iterate over the oop fields and metadata.
  73   template <bool nv, class OopClosureType>
  74   inline int oop_oop_iterate(oop obj, OopClosureType* closure);
  75 
  76 #if INCLUDE_ALL_GCS
  77   // Reverse iteration
  78   // Iterate over the oop fields and metadata.
  79   template <bool nv, class OopClosureType>
  80   inline int oop_oop_iterate_reverse(oop obj, OopClosureType* closure);
  81 #endif
  82 
  83   // Bounded range iteration
  84   // Iterate over the oop fields and metadata.
  85   template <bool nv, class OopClosureType>
  86   inline int oop_oop_iterate_bounded(oop obj, OopClosureType* closure, MemRegion mr);
  87 
  88  public:
  89 
  90   ALL_OOP_OOP_ITERATE_CLOSURES_1(OOP_OOP_ITERATE_DECL)
  91   ALL_OOP_OOP_ITERATE_CLOSURES_2(OOP_OOP_ITERATE_DECL)




  92 
  93 #if INCLUDE_ALL_GCS
  94   ALL_OOP_OOP_ITERATE_CLOSURES_1(OOP_OOP_ITERATE_BACKWARDS_DECL)
  95   ALL_OOP_OOP_ITERATE_CLOSURES_2(OOP_OOP_ITERATE_BACKWARDS_DECL)



  96 #endif // INCLUDE_ALL_GCS
  97 
  98 };
  99 
 100 #endif // SHARE_VM_OOPS_INSTANCECLASSLOADERKLASS_HPP
< prev index next >