< prev index next >

src/hotspot/share/gc/shared/cardGeneration.cpp

Print this page




 290     log_trace(gc, heap)("    aggressive shrinking:  _capacity_at_prologue: %.1fK  capacity_after_gc: %.1fK  expansion_for_promotion: %.1fK  shrink_bytes: %.1fK",
 291                         capacity_after_gc / (double) K,
 292                         _capacity_at_prologue / (double) K,
 293                         expansion_for_promotion / (double) K,
 294                         shrink_bytes / (double) K);
 295   }
 296   // Don't shrink unless it's significant
 297   if (shrink_bytes >= _min_heap_delta_bytes) {
 298     shrink(shrink_bytes);
 299   }
 300 }
 301 
 302 // Currently nothing to do.
 303 void CardGeneration::prepare_for_verify() {}
 304 
 305 void CardGeneration::space_iterate(SpaceClosure* blk,
 306                                                  bool usedOnly) {
 307   blk->do_space(space());
 308 }
 309 
 310 void CardGeneration::younger_refs_iterate(OopsInGenClosure* blk, uint n_threads) {
 311   blk->set_generation(this);
 312   younger_refs_in_space_iterate(space(), blk, n_threads);
 313   blk->reset_generation();





 314 }


 290     log_trace(gc, heap)("    aggressive shrinking:  _capacity_at_prologue: %.1fK  capacity_after_gc: %.1fK  expansion_for_promotion: %.1fK  shrink_bytes: %.1fK",
 291                         capacity_after_gc / (double) K,
 292                         _capacity_at_prologue / (double) K,
 293                         expansion_for_promotion / (double) K,
 294                         shrink_bytes / (double) K);
 295   }
 296   // Don't shrink unless it's significant
 297   if (shrink_bytes >= _min_heap_delta_bytes) {
 298     shrink(shrink_bytes);
 299   }
 300 }
 301 
 302 // Currently nothing to do.
 303 void CardGeneration::prepare_for_verify() {}
 304 
 305 void CardGeneration::space_iterate(SpaceClosure* blk,
 306                                                  bool usedOnly) {
 307   blk->do_space(space());
 308 }
 309 
 310 void CardGeneration::younger_refs_iterate(OopIterateClosure* blk, uint n_threads) {
 311   // Apply "cl->do_oop" to (the address of) (exactly) all the ref fields in
 312   // "sp" that point into younger generations.
 313   // The iteration is only over objects allocated at the start of the
 314   // iterations; objects allocated as a result of applying the closure are
 315   // not included.
 316 
 317   HeapWord* gen_boundary = reserved().start();
 318   _rs->younger_refs_in_space_iterate(space(), gen_boundary, blk, n_threads);
 319 }
< prev index next >