src/share/vm/gc_implementation/concurrentMarkSweep/promotionInfo.hpp

Print this page
rev 6796 : [mq]: templateOopIterate

@@ -185,17 +185,14 @@
   }
   // ensure that spooling space exists
   bool ensure_spooling_space() {
     return has_spooling_space() || ensure_spooling_space_work();
   }
-  #define PROMOTED_OOPS_ITERATE_DECL(OopClosureType, nv_suffix)  \
-    void promoted_oops_iterate##nv_suffix(OopClosureType* cl);
-  ALL_SINCE_SAVE_MARKS_CLOSURES(PROMOTED_OOPS_ITERATE_DECL)
-  #undef PROMOTED_OOPS_ITERATE_DECL
-  void promoted_oops_iterate(OopsInGenClosure* cl) {
-    promoted_oops_iterate_v(cl);
-  }
+
+  template <bool nv, typename OopClosureType>
+  void promoted_oops_iterate(OopClosureType* cl);
+
   void verify()  const;
   void reset() {
     _promoHead = NULL;
     _promoTail = NULL;
     _spoolHead = NULL;