src/share/vm/gc_implementation/parallelScavenge/parallelScavengeHeap.cpp

Print this page
rev 2652 : 7085906: Replace the permgen allocated sentinelRef with a self-looped end
Summary: Remove the sentinelRef and let the last Reference in a discovered chain point back to itself.
Reviewed-by: TBD1, TBD2


 892 
 893 
 894 void ParallelScavengeHeap::verify(bool allow_dirty, bool silent, VerifyOption option /* ignored */) {
 895   // Why do we need the total_collections()-filter below?
 896   if (total_collections() > 0) {
 897     if (!silent) {
 898       gclog_or_tty->print("permanent ");
 899     }
 900     perm_gen()->verify(allow_dirty);
 901 
 902     if (!silent) {
 903       gclog_or_tty->print("tenured ");
 904     }
 905     old_gen()->verify(allow_dirty);
 906 
 907     if (!silent) {
 908       gclog_or_tty->print("eden ");
 909     }
 910     young_gen()->verify(allow_dirty);
 911   }
 912   if (!silent) {
 913     gclog_or_tty->print("ref_proc ");
 914   }
 915   ReferenceProcessor::verify();
 916 }
 917 
 918 void ParallelScavengeHeap::print_heap_change(size_t prev_used) {
 919   if (PrintGCDetails && Verbose) {
 920     gclog_or_tty->print(" "  SIZE_FORMAT
 921                         "->" SIZE_FORMAT
 922                         "("  SIZE_FORMAT ")",
 923                         prev_used, used(), capacity());
 924   } else {
 925     gclog_or_tty->print(" "  SIZE_FORMAT "K"
 926                         "->" SIZE_FORMAT "K"
 927                         "("  SIZE_FORMAT "K)",
 928                         prev_used / K, used() / K, capacity() / K);
 929   }
 930 }
 931 
 932 ParallelScavengeHeap* ParallelScavengeHeap::heap() {
 933   assert(_psh != NULL, "Uninitialized access to ParallelScavengeHeap::heap()");
 934   assert(_psh->kind() == CollectedHeap::ParallelScavengeHeap, "not a parallel scavenge heap");
 935   return _psh;




 892 
 893 
 894 void ParallelScavengeHeap::verify(bool allow_dirty, bool silent, VerifyOption option /* ignored */) {
 895   // Why do we need the total_collections()-filter below?
 896   if (total_collections() > 0) {
 897     if (!silent) {
 898       gclog_or_tty->print("permanent ");
 899     }
 900     perm_gen()->verify(allow_dirty);
 901 
 902     if (!silent) {
 903       gclog_or_tty->print("tenured ");
 904     }
 905     old_gen()->verify(allow_dirty);
 906 
 907     if (!silent) {
 908       gclog_or_tty->print("eden ");
 909     }
 910     young_gen()->verify(allow_dirty);
 911   }




 912 }
 913 
 914 void ParallelScavengeHeap::print_heap_change(size_t prev_used) {
 915   if (PrintGCDetails && Verbose) {
 916     gclog_or_tty->print(" "  SIZE_FORMAT
 917                         "->" SIZE_FORMAT
 918                         "("  SIZE_FORMAT ")",
 919                         prev_used, used(), capacity());
 920   } else {
 921     gclog_or_tty->print(" "  SIZE_FORMAT "K"
 922                         "->" SIZE_FORMAT "K"
 923                         "("  SIZE_FORMAT "K)",
 924                         prev_used / K, used() / K, capacity() / K);
 925   }
 926 }
 927 
 928 ParallelScavengeHeap* ParallelScavengeHeap::heap() {
 929   assert(_psh != NULL, "Uninitialized access to ParallelScavengeHeap::heap()");
 930   assert(_psh->kind() == CollectedHeap::ParallelScavengeHeap, "not a parallel scavenge heap");
 931   return _psh;