src/share/vm/memory/generation.cpp

Print this page




 778 // Currently nothing to do.
 779 void OneContigSpaceCardGeneration::prepare_for_verify() {}
 780 
 781 
 782 // Override for a card-table generation with one contiguous
 783 // space. NOTE: For reasons that are lost in the fog of history,
 784 // this code is used when you iterate over perm gen objects,
 785 // even when one uses CDS, where the perm gen has a couple of
 786 // other spaces; this is because CompactingPermGenGen derives
 787 // from OneContigSpaceCardGeneration. This should be cleaned up,
 788 // see CR 6897789..
 789 void OneContigSpaceCardGeneration::object_iterate(ObjectClosure* blk) {
 790   _the_space->object_iterate(blk);
 791 }
 792 
 793 void OneContigSpaceCardGeneration::space_iterate(SpaceClosure* blk,
 794                                                  bool usedOnly) {
 795   blk->do_space(_the_space);
 796 }
 797 
 798 void OneContigSpaceCardGeneration::object_iterate_since_last_GC(ObjectClosure* blk) {
 799   // Deal with delayed initialization of _the_space,
 800   // and lack of initialization of _last_gc.
 801   if (_last_gc.space() == NULL) {
 802     assert(the_space() != NULL, "shouldn't be NULL");
 803     _last_gc = the_space()->bottom_mark();
 804   }
 805   the_space()->object_iterate_from(_last_gc, blk);
 806 }
 807 
 808 void OneContigSpaceCardGeneration::younger_refs_iterate(OopsInGenClosure* blk) {
 809   blk->set_generation(this);
 810   younger_refs_in_space_iterate(_the_space, blk);
 811   blk->reset_generation();
 812 }
 813 
 814 void OneContigSpaceCardGeneration::save_marks() {
 815   _the_space->set_saved_mark();
 816 }
 817 
 818 
 819 void OneContigSpaceCardGeneration::reset_saved_marks() {
 820   _the_space->reset_saved_mark();
 821 }
 822 
 823 
 824 bool OneContigSpaceCardGeneration::no_allocs_since_save_marks() {
 825   return _the_space->saved_mark_at_top();
 826 }
 827 




 778 // Currently nothing to do.
 779 void OneContigSpaceCardGeneration::prepare_for_verify() {}
 780 
 781 
 782 // Override for a card-table generation with one contiguous
 783 // space. NOTE: For reasons that are lost in the fog of history,
 784 // this code is used when you iterate over perm gen objects,
 785 // even when one uses CDS, where the perm gen has a couple of
 786 // other spaces; this is because CompactingPermGenGen derives
 787 // from OneContigSpaceCardGeneration. This should be cleaned up,
 788 // see CR 6897789..
 789 void OneContigSpaceCardGeneration::object_iterate(ObjectClosure* blk) {
 790   _the_space->object_iterate(blk);
 791 }
 792 
 793 void OneContigSpaceCardGeneration::space_iterate(SpaceClosure* blk,
 794                                                  bool usedOnly) {
 795   blk->do_space(_the_space);
 796 }
 797 










 798 void OneContigSpaceCardGeneration::younger_refs_iterate(OopsInGenClosure* blk) {
 799   blk->set_generation(this);
 800   younger_refs_in_space_iterate(_the_space, blk);
 801   blk->reset_generation();
 802 }
 803 
 804 void OneContigSpaceCardGeneration::save_marks() {
 805   _the_space->set_saved_mark();
 806 }
 807 
 808 
 809 void OneContigSpaceCardGeneration::reset_saved_marks() {
 810   _the_space->reset_saved_mark();
 811 }
 812 
 813 
 814 bool OneContigSpaceCardGeneration::no_allocs_since_save_marks() {
 815   return _the_space->saved_mark_at_top();
 816 }
 817