< prev index next >

src/share/vm/gc/parallel/psMarkSweep.cpp

Print this page

        

@@ -154,22 +154,23 @@
   if (VerifyObjectStartArray &&
       VerifyBeforeGC) {
     old_gen->verify_object_start_array();
   }
 
-  heap->pre_full_gc_dump(_gc_timer);
-
   // Filled in below to track the state of the young gen after the collection.
   bool eden_empty;
   bool survivors_empty;
   bool young_gen_empty;
 
   {
     HandleMark hm;
 
     GCTraceCPUTime tcpu;
     GCTraceTime(Info, gc) t("Pause Full", NULL, gc_cause, true);
+
+    heap->pre_full_gc_dump(_gc_timer);
+
     TraceCollectorStats tcs(counters());
     TraceMemoryManagerStats tms(true /* Full GC */,gc_cause);
 
     if (TraceOldGenTime) accumulated_time()->start();
 

@@ -343,10 +344,12 @@
     MetaspaceAux::print_metaspace_change(metadata_prev_used);
 
     // Track memory usage and detect low memory
     MemoryService::track_memory_usage();
     heap->update_counters();
+
+    heap->post_full_gc_dump(_gc_timer);
   }
 
   if (VerifyAfterGC && heap->total_collections() >= VerifyGCStartAt) {
     HandleMark hm;  // Discard invalid handles created during verification
     Universe::verify("After GC");

@@ -365,12 +368,10 @@
   NOT_PRODUCT(ref_processor()->verify_no_references_recorded());
 
   heap->print_heap_after_gc();
   heap->trace_heap_after_gc(_gc_tracer);
 
-  heap->post_full_gc_dump(_gc_timer);
-
 #ifdef TRACESPINNING
   ParallelTaskTerminator::print_termination_counts();
 #endif
 
   AdaptiveSizePolicyOutput::print(size_policy, heap->total_collections());
< prev index next >