8011569: ARM -- avoid native stack walking
authorjprovino
Tue, 16 Jul 2013 10:55:48 -0400
changeset 18742 76383a85a8f9
parent 18024 f9e300086063
child 18743 ffe61257d9a0
8011569: ARM -- avoid native stack walking Summary: ARM compilers do not emit FramePointer on each native frame by default Reviewed-by: dholmes, zgu
hotspot/make/linux/makefiles/vm.make
hotspot/src/share/vm/services/memTracker.cpp
hotspot/src/share/vm/utilities/globalDefinitions.hpp
--- a/hotspot/make/linux/makefiles/vm.make	Fri Jun 07 09:33:01 2013 -0700
+++ b/hotspot/make/linux/makefiles/vm.make	Tue Jul 16 10:55:48 2013 -0400
@@ -46,6 +46,7 @@
   include $(MAKEFILES_DIR)/zeroshark.make
 else
   include $(MAKEFILES_DIR)/$(BUILDARCH).make
+  -include $(HS_ALT_MAKE)/$(Platform_os_family)/makefiles/$(BUILDARCH).make
 endif
 
 # set VPATH so make knows where to look for source files
@@ -384,4 +385,4 @@
 
 install: install_jvm install_jsig install_saproc
 
-.PHONY: default build install install_jvm
+.PHONY: default build install install_jvm $(HS_ALT_MAKE)/$(Platform_os_family)/makefiles/$(BUILDARCH).make
--- a/hotspot/src/share/vm/services/memTracker.cpp	Fri Jun 07 09:33:01 2013 -0700
+++ b/hotspot/src/share/vm/services/memTracker.cpp	Tue Jul 16 10:55:48 2013 -0400
@@ -80,13 +80,13 @@
   } else if (strcmp(option_line, "=detail") == 0) {
     // detail relies on a stack-walking ability that may not
     // be available depending on platform and/or compiler flags
-    if (PLATFORM_NMT_DETAIL_SUPPORTED) {
+#if PLATFORM_NATIVE_STACK_WALKING_SUPPORTED
       _tracking_level = NMT_detail;
-    } else {
+#else
       jio_fprintf(defaultStream::error_stream(),
-        "NMT detail is not supported on this platform.  Using NMT summary instead.");
+        "NMT detail is not supported on this platform.  Using NMT summary instead.\n");
       _tracking_level = NMT_summary;
-    }
+#endif
   } else if (strcmp(option_line, "=off") != 0) {
     vm_exit_during_initialization("Syntax error, expecting -XX:NativeMemoryTracking=[off|summary|detail]", NULL);
   }
--- a/hotspot/src/share/vm/utilities/globalDefinitions.hpp	Fri Jun 07 09:33:01 2013 -0700
+++ b/hotspot/src/share/vm/utilities/globalDefinitions.hpp	Tue Jul 16 10:55:48 2013 -0400
@@ -381,12 +381,12 @@
 #endif
 
 /*
- * If a platform does not support NMT_detail
+ * If a platform does not support native stack walking
  * the platform specific globalDefinitions (above)
- * can set PLATFORM_NMT_DETAIL_SUPPORTED to false
+ * can set PLATFORM_NATIVE_STACK_WALKING_SUPPORTED to 0
  */
-#ifndef PLATFORM_NMT_DETAIL_SUPPORTED
-#define PLATFORM_NMT_DETAIL_SUPPORTED true
+#ifndef PLATFORM_NATIVE_STACK_WALKING_SUPPORTED
+#define PLATFORM_NATIVE_STACK_WALKING_SUPPORTED 1
 #endif
 
 // The byte alignment to be used by Arena::Amalloc.  See bugid 4169348.