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 |