1.1 --- a/src/share/vm/memory/genCollectedHeap.cpp Fri Feb 27 15:30:47 2009 -0800 1.2 +++ b/src/share/vm/memory/genCollectedHeap.cpp Mon Mar 02 16:37:04 2009 -0800 1.3 @@ -456,6 +456,9 @@ 1.4 int max_level_collected = starting_level; 1.5 for (int i = starting_level; i <= max_level; i++) { 1.6 if (_gens[i]->should_collect(full, size, is_tlab)) { 1.7 + if (i == n_gens() - 1) { // a major collection is to happen 1.8 + pre_full_gc_dump(); // do any pre full gc dumps 1.9 + } 1.10 // Timer for individual generations. Last argument is false: no CR 1.11 TraceTime t1(_gens[i]->short_name(), PrintGCDetails, false, gclog_or_tty); 1.12 TraceCollectorStats tcs(_gens[i]->counters()); 1.13 @@ -573,6 +576,10 @@ 1.14 // a whole heap collection. 1.15 complete = complete || (max_level_collected == n_gens() - 1); 1.16 1.17 + if (complete) { // We did a "major" collection 1.18 + post_full_gc_dump(); // do any post full gc dumps 1.19 + } 1.20 + 1.21 if (PrintGCDetails) { 1.22 print_heap_change(gch_prev_used); 1.23