hotspot/src/share/vm/memory/genCollectedHeap.cpp
changeset 2141 e9a644aaff87
parent 2010 c13462bbad17
child 2254 f13dda645a4b
child 2154 72a9b7284ccf
--- a/hotspot/src/share/vm/memory/genCollectedHeap.cpp	Fri Feb 27 15:30:47 2009 -0800
+++ b/hotspot/src/share/vm/memory/genCollectedHeap.cpp	Mon Mar 02 16:37:04 2009 -0800
@@ -456,6 +456,9 @@
     int max_level_collected = starting_level;
     for (int i = starting_level; i <= max_level; i++) {
       if (_gens[i]->should_collect(full, size, is_tlab)) {
+        if (i == n_gens() - 1) {  // a major collection is to happen
+          pre_full_gc_dump();    // do any pre full gc dumps
+        }
         // Timer for individual generations. Last argument is false: no CR
         TraceTime t1(_gens[i]->short_name(), PrintGCDetails, false, gclog_or_tty);
         TraceCollectorStats tcs(_gens[i]->counters());
@@ -573,6 +576,10 @@
     // a whole heap collection.
     complete = complete || (max_level_collected == n_gens() - 1);
 
+    if (complete) { // We did a "major" collection
+      post_full_gc_dump();   // do any post full gc dumps
+    }
+
     if (PrintGCDetails) {
       print_heap_change(gch_prev_used);