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();
|