changeset 7585:e0cf9af8978e

8005936: PrintNMTStatistics doesn't work for normal JVM exit Summary: Moved NMT shutdown code to JVM exit handler to ensure NMT statistics is printed when PrintNMTStatistics is enabled Reviewed-by: acorn, dholmes, coleenp
author zgu
date Fri, 11 Jan 2013 12:30:54 -0500
parents 0c93d4818214
children 90a92d5bca17
files src/share/vm/runtime/java.cpp src/share/vm/runtime/thread.cpp
diffstat 2 files changed, 4 insertions(+), 4 deletions(-) [+]
line wrap: on
line diff
--- a/src/share/vm/runtime/java.cpp	Tue Jan 08 15:47:23 2013 -0800
+++ b/src/share/vm/runtime/java.cpp	Fri Jan 11 12:30:54 2013 -0500
@@ -542,6 +542,10 @@
     BeforeExit_lock->notify_all();
   }
 
+  // Shutdown NMT before exit. Otherwise,
+  // it will run into trouble when system destroys static variables.
+  MemTracker::shutdown(MemTracker::NMT_normal);
+
   #undef BEFORE_EXIT_NOT_RUN
   #undef BEFORE_EXIT_RUNNING
   #undef BEFORE_EXIT_DONE
--- a/src/share/vm/runtime/thread.cpp	Tue Jan 08 15:47:23 2013 -0800
+++ b/src/share/vm/runtime/thread.cpp	Fri Jan 11 12:30:54 2013 -0500
@@ -4011,10 +4011,6 @@
                          Mutex::_as_suspend_equivalent_flag);
   }
 
-  // Shutdown NMT before exit. Otherwise,
-  // it will run into trouble when system destroys static variables.
-  MemTracker::shutdown(MemTracker::NMT_normal);
-
   // Hang forever on exit if we are reporting an error.
   if (ShowMessageBoxOnError && is_error_reported()) {
     os::infinite_sleep();