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

Print this page




1232   // Time since last GC of this generation
1233   jlong time_of_last_gc(jlong now) {
1234     return collector()->time_of_last_gc(now);
1235   }
1236   void update_time_of_last_gc(jlong now) {
1237     collector()-> update_time_of_last_gc(now);
1238   }
1239 
1240   // Allocation failure
1241   void expand(size_t bytes, size_t expand_bytes,
1242     CMSExpansionCause::Cause cause);
1243   virtual bool expand(size_t bytes, size_t expand_bytes);
1244   void shrink(size_t bytes);
1245   void shrink_by(size_t bytes);
1246   HeapWord* expand_and_par_lab_allocate(CMSParGCThreadState* ps, size_t word_sz);
1247   bool expand_and_ensure_spooling_space(PromotionInfo* promo);
1248 
1249   // Iteration support and related enquiries
1250   void save_marks();
1251   bool no_allocs_since_save_marks();
1252   void object_iterate_since_last_GC(ObjectClosure* cl);
1253   void younger_refs_iterate(OopsInGenClosure* cl);
1254 
1255   // Iteration support specific to CMS generations
1256   void save_sweep_limit();
1257 
1258   // More iteration support
1259   virtual void oop_iterate(MemRegion mr, ExtendedOopClosure* cl);
1260   virtual void oop_iterate(ExtendedOopClosure* cl);
1261   virtual void safe_object_iterate(ObjectClosure* cl);
1262   virtual void object_iterate(ObjectClosure* cl);
1263 
1264   // Need to declare the full complement of closures, whether we'll
1265   // override them or not, or get message from the compiler:
1266   //   oop_since_save_marks_iterate_nv hides virtual function...
1267   #define CMS_SINCE_SAVE_MARKS_DECL(OopClosureType, nv_suffix) \
1268     void oop_since_save_marks_iterate##nv_suffix(OopClosureType* cl);
1269   ALL_SINCE_SAVE_MARKS_CLOSURES(CMS_SINCE_SAVE_MARKS_DECL)
1270 
1271   // Smart allocation  XXX -- move to CFLSpace?
1272   void setNearLargestChunk();




1232   // Time since last GC of this generation
1233   jlong time_of_last_gc(jlong now) {
1234     return collector()->time_of_last_gc(now);
1235   }
1236   void update_time_of_last_gc(jlong now) {
1237     collector()-> update_time_of_last_gc(now);
1238   }
1239 
1240   // Allocation failure
1241   void expand(size_t bytes, size_t expand_bytes,
1242     CMSExpansionCause::Cause cause);
1243   virtual bool expand(size_t bytes, size_t expand_bytes);
1244   void shrink(size_t bytes);
1245   void shrink_by(size_t bytes);
1246   HeapWord* expand_and_par_lab_allocate(CMSParGCThreadState* ps, size_t word_sz);
1247   bool expand_and_ensure_spooling_space(PromotionInfo* promo);
1248 
1249   // Iteration support and related enquiries
1250   void save_marks();
1251   bool no_allocs_since_save_marks();

1252   void younger_refs_iterate(OopsInGenClosure* cl);
1253 
1254   // Iteration support specific to CMS generations
1255   void save_sweep_limit();
1256 
1257   // More iteration support
1258   virtual void oop_iterate(MemRegion mr, ExtendedOopClosure* cl);
1259   virtual void oop_iterate(ExtendedOopClosure* cl);
1260   virtual void safe_object_iterate(ObjectClosure* cl);
1261   virtual void object_iterate(ObjectClosure* cl);
1262 
1263   // Need to declare the full complement of closures, whether we'll
1264   // override them or not, or get message from the compiler:
1265   //   oop_since_save_marks_iterate_nv hides virtual function...
1266   #define CMS_SINCE_SAVE_MARKS_DECL(OopClosureType, nv_suffix) \
1267     void oop_since_save_marks_iterate##nv_suffix(OopClosureType* cl);
1268   ALL_SINCE_SAVE_MARKS_CLOSURES(CMS_SINCE_SAVE_MARKS_DECL)
1269 
1270   // Smart allocation  XXX -- move to CFLSpace?
1271   void setNearLargestChunk();