253 void TenuredGeneration::object_iterate(ObjectClosure* blk) {
254 _the_space->object_iterate(blk);
255 }
256
257 void TenuredGeneration::save_marks() {
258 _the_space->set_saved_mark();
259 }
260
261 void TenuredGeneration::reset_saved_marks() {
262 _the_space->reset_saved_mark();
263 }
264
265 bool TenuredGeneration::no_allocs_since_save_marks() {
266 return _the_space->saved_mark_at_top();
267 }
268
269 #define TenuredGen_SINCE_SAVE_MARKS_ITERATE_DEFN(OopClosureType, nv_suffix) \
270 \
271 void TenuredGeneration:: \
272 oop_since_save_marks_iterate##nv_suffix(OopClosureType* blk) { \
273 blk->set_generation(this); \
274 _the_space->oop_since_save_marks_iterate##nv_suffix(blk); \
275 blk->reset_generation(); \
276 save_marks(); \
277 }
278
279 ALL_SINCE_SAVE_MARKS_CLOSURES(TenuredGen_SINCE_SAVE_MARKS_ITERATE_DEFN)
280
281 #undef TenuredGen_SINCE_SAVE_MARKS_ITERATE_DEFN
282
283 void TenuredGeneration::gc_epilogue(bool full) {
284 // update the generation and space performance counters
285 update_counters();
286 if (ZapUnusedHeapArea) {
287 _the_space->check_mangled_unused_area_complete();
288 }
289 }
290
291 void TenuredGeneration::record_spaces_top() {
292 assert(ZapUnusedHeapArea, "Not mangling unused space");
293 _the_space->set_top_for_allocations();
294 }
295
|
253 void TenuredGeneration::object_iterate(ObjectClosure* blk) {
254 _the_space->object_iterate(blk);
255 }
256
257 void TenuredGeneration::save_marks() {
258 _the_space->set_saved_mark();
259 }
260
261 void TenuredGeneration::reset_saved_marks() {
262 _the_space->reset_saved_mark();
263 }
264
265 bool TenuredGeneration::no_allocs_since_save_marks() {
266 return _the_space->saved_mark_at_top();
267 }
268
269 #define TenuredGen_SINCE_SAVE_MARKS_ITERATE_DEFN(OopClosureType, nv_suffix) \
270 \
271 void TenuredGeneration:: \
272 oop_since_save_marks_iterate##nv_suffix(OopClosureType* blk) { \
273 blk->assert_generation(this); \
274 _the_space->oop_since_save_marks_iterate##nv_suffix(blk); \
275 save_marks(); \
276 }
277
278 ALL_SINCE_SAVE_MARKS_CLOSURES(TenuredGen_SINCE_SAVE_MARKS_ITERATE_DEFN)
279
280 #undef TenuredGen_SINCE_SAVE_MARKS_ITERATE_DEFN
281
282 void TenuredGeneration::gc_epilogue(bool full) {
283 // update the generation and space performance counters
284 update_counters();
285 if (ZapUnusedHeapArea) {
286 _the_space->check_mangled_unused_area_complete();
287 }
288 }
289
290 void TenuredGeneration::record_spaces_top() {
291 assert(ZapUnusedHeapArea, "Not mangling unused space");
292 _the_space->set_top_for_allocations();
293 }
294
|