hotspot/src/share/vm/memory/genCollectedHeap.cpp
changeset 2154 72a9b7284ccf
parent 2105 347008ce7984
parent 2141 e9a644aaff87
child 2259 d3c946e7f127
equal deleted inserted replaced
2106:ec595a5e793e 2154:72a9b7284ccf
   454     bool must_restore_marks_for_biased_locking = false;
   454     bool must_restore_marks_for_biased_locking = false;
   455 
   455 
   456     int max_level_collected = starting_level;
   456     int max_level_collected = starting_level;
   457     for (int i = starting_level; i <= max_level; i++) {
   457     for (int i = starting_level; i <= max_level; i++) {
   458       if (_gens[i]->should_collect(full, size, is_tlab)) {
   458       if (_gens[i]->should_collect(full, size, is_tlab)) {
       
   459         if (i == n_gens() - 1) {  // a major collection is to happen
       
   460           pre_full_gc_dump();    // do any pre full gc dumps
       
   461         }
   459         // Timer for individual generations. Last argument is false: no CR
   462         // Timer for individual generations. Last argument is false: no CR
   460         TraceTime t1(_gens[i]->short_name(), PrintGCDetails, false, gclog_or_tty);
   463         TraceTime t1(_gens[i]->short_name(), PrintGCDetails, false, gclog_or_tty);
   461         TraceCollectorStats tcs(_gens[i]->counters());
   464         TraceCollectorStats tcs(_gens[i]->counters());
   462         TraceMemoryManagerStats tmms(_gens[i]->kind());
   465         TraceMemoryManagerStats tmms(_gens[i]->kind());
   463 
   466 
   571     // Update "complete" boolean wrt what actually transpired --
   574     // Update "complete" boolean wrt what actually transpired --
   572     // for instance, a promotion failure could have led to
   575     // for instance, a promotion failure could have led to
   573     // a whole heap collection.
   576     // a whole heap collection.
   574     complete = complete || (max_level_collected == n_gens() - 1);
   577     complete = complete || (max_level_collected == n_gens() - 1);
   575 
   578 
       
   579     if (complete) { // We did a "major" collection
       
   580       post_full_gc_dump();   // do any post full gc dumps
       
   581     }
       
   582 
   576     if (PrintGCDetails) {
   583     if (PrintGCDetails) {
   577       print_heap_change(gch_prev_used);
   584       print_heap_change(gch_prev_used);
   578 
   585 
   579       // Print perm gen info for full GC with PrintGCDetails flag.
   586       // Print perm gen info for full GC with PrintGCDetails flag.
   580       if (complete) {
   587       if (complete) {