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

Print this page
rev 6796 : [mq]: templateOopIterate


1271   void shrink_by(size_t bytes);
1272   HeapWord* expand_and_par_lab_allocate(CMSParGCThreadState* ps, size_t word_sz);
1273   bool expand_and_ensure_spooling_space(PromotionInfo* promo);
1274 
1275   // Iteration support and related enquiries
1276   void save_marks();
1277   bool no_allocs_since_save_marks();
1278   void younger_refs_iterate(OopsInGenClosure* cl);
1279 
1280   // Iteration support specific to CMS generations
1281   void save_sweep_limit();
1282 
1283   // More iteration support
1284   virtual void oop_iterate(ExtendedOopClosure* cl);
1285   virtual void safe_object_iterate(ObjectClosure* cl);
1286   virtual void object_iterate(ObjectClosure* cl);
1287 
1288   // Need to declare the full complement of closures, whether we'll
1289   // override them or not, or get message from the compiler:
1290   //   oop_since_save_marks_iterate_nv hides virtual function...
1291   #define CMS_SINCE_SAVE_MARKS_DECL(OopClosureType, nv_suffix) \
1292     void oop_since_save_marks_iterate##nv_suffix(OopClosureType* cl);
1293   ALL_SINCE_SAVE_MARKS_CLOSURES(CMS_SINCE_SAVE_MARKS_DECL)
1294 
1295   // Smart allocation  XXX -- move to CFLSpace?
1296   void setNearLargestChunk();
1297   bool isNearLargestChunk(HeapWord* addr);
1298 
1299   // Get the chunk at the end of the space.  Delegates to
1300   // the space.
1301   FreeChunk* find_chunk_at_end();
1302 
1303   void post_compact();
1304 
1305   // Debugging
1306   void prepare_for_verify();
1307   void verify();
1308   void print_statistics()               PRODUCT_RETURN;
1309 
1310   // Performance Counters support
1311   virtual void update_counters();
1312   virtual void update_counters(size_t used);
1313   void initialize_performance_counters();




1271   void shrink_by(size_t bytes);
1272   HeapWord* expand_and_par_lab_allocate(CMSParGCThreadState* ps, size_t word_sz);
1273   bool expand_and_ensure_spooling_space(PromotionInfo* promo);
1274 
1275   // Iteration support and related enquiries
1276   void save_marks();
1277   bool no_allocs_since_save_marks();
1278   void younger_refs_iterate(OopsInGenClosure* cl);
1279 
1280   // Iteration support specific to CMS generations
1281   void save_sweep_limit();
1282 
1283   // More iteration support
1284   virtual void oop_iterate(ExtendedOopClosure* cl);
1285   virtual void safe_object_iterate(ObjectClosure* cl);
1286   virtual void object_iterate(ObjectClosure* cl);
1287 
1288   // Need to declare the full complement of closures, whether we'll
1289   // override them or not, or get message from the compiler:
1290   //   oop_since_save_marks_iterate_nv hides virtual function...
1291   template <bool nv, typename OopClosureType>
1292   void oop_since_save_marks_iterate(OopClosureType* cl);

1293 
1294   // Smart allocation  XXX -- move to CFLSpace?
1295   void setNearLargestChunk();
1296   bool isNearLargestChunk(HeapWord* addr);
1297 
1298   // Get the chunk at the end of the space.  Delegates to
1299   // the space.
1300   FreeChunk* find_chunk_at_end();
1301 
1302   void post_compact();
1303 
1304   // Debugging
1305   void prepare_for_verify();
1306   void verify();
1307   void print_statistics()               PRODUCT_RETURN;
1308 
1309   // Performance Counters support
1310   virtual void update_counters();
1311   virtual void update_counters(size_t used);
1312   void initialize_performance_counters();