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

Print this page
rev 6796 : [mq]: templateOopIterate

*** 1286,1298 **** virtual void object_iterate(ObjectClosure* cl); // Need to declare the full complement of closures, whether we'll // override them or not, or get message from the compiler: // oop_since_save_marks_iterate_nv hides virtual function... ! #define CMS_SINCE_SAVE_MARKS_DECL(OopClosureType, nv_suffix) \ ! void oop_since_save_marks_iterate##nv_suffix(OopClosureType* cl); ! ALL_SINCE_SAVE_MARKS_CLOSURES(CMS_SINCE_SAVE_MARKS_DECL) // Smart allocation XXX -- move to CFLSpace? void setNearLargestChunk(); bool isNearLargestChunk(HeapWord* addr); --- 1286,1297 ---- virtual void object_iterate(ObjectClosure* cl); // Need to declare the full complement of closures, whether we'll // override them or not, or get message from the compiler: // oop_since_save_marks_iterate_nv hides virtual function... ! template <bool nv, typename OopClosureType> ! void oop_since_save_marks_iterate(OopClosureType* cl); // Smart allocation XXX -- move to CFLSpace? void setNearLargestChunk(); bool isNearLargestChunk(HeapWord* addr);