changeset 4804:f9b44439e294

8011569: ARM -- avoid native stack walking Summary: ARM compilers do not emit FramePointer on each native frame by default Reviewed-by: dholmes, kvn
author jprovino
date Wed, 17 Jul 2013 11:12:43 -0400
parents c30107a847a3
children 4cc0a758a4dc
files make/linux/makefiles/vm.make src/share/vm/services/memTracker.cpp src/share/vm/utilities/globalDefinitions.hpp
diffstat 3 files changed, 10 insertions(+), 8 deletions(-) [+]
line wrap: on
line diff
--- a/make/linux/makefiles/vm.make	Wed Jul 10 10:24:00 2013 -0400
+++ b/make/linux/makefiles/vm.make	Wed Jul 17 11:12:43 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
@@ -388,4 +389,5 @@
 
 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/src/share/vm/services/memTracker.cpp	Wed Jul 10 10:24:00 2013 -0400
+++ b/src/share/vm/services/memTracker.cpp	Wed Jul 17 11:12:43 2013 -0400
@@ -83,13 +83,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.\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/src/share/vm/utilities/globalDefinitions.hpp	Wed Jul 10 10:24:00 2013 -0400
+++ b/src/share/vm/utilities/globalDefinitions.hpp	Wed Jul 17 11:12:43 2013 -0400
@@ -354,12 +354,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.