< prev index next >
src/hotspot/share/gc/shared/cardGeneration.cpp
Print this page
*** 305,314 ****
void CardGeneration::space_iterate(SpaceClosure* blk,
bool usedOnly) {
blk->do_space(space());
}
! void CardGeneration::younger_refs_iterate(OopsInGenClosure* blk, uint n_threads) {
! blk->set_generation(this);
! younger_refs_in_space_iterate(space(), blk, n_threads);
! blk->reset_generation();
}
--- 305,319 ----
void CardGeneration::space_iterate(SpaceClosure* blk,
bool usedOnly) {
blk->do_space(space());
}
! void CardGeneration::younger_refs_iterate(OopIterateClosure* blk, uint n_threads) {
! // Apply "cl->do_oop" to (the address of) (exactly) all the ref fields in
! // "sp" that point into younger generations.
! // The iteration is only over objects allocated at the start of the
! // iterations; objects allocated as a result of applying the closure are
! // not included.
!
! HeapWord* gen_boundary = reserved().start();
! _rs->younger_refs_in_space_iterate(space(), gen_boundary, blk, n_threads);
}
< prev index next >