--- old/make/linux/makefiles/debug.make 2013-07-03 14:21:07.624567225 -0400 +++ new/make/linux/makefiles/debug.make 2013-07-03 14:21:06.854379809 -0400 @@ -31,6 +31,9 @@ # _NMT_NOINLINE_ informs NMT that no inlining by Compiler CFLAGS += $(DEBUG_CFLAGS/BYFILE) -D_NMT_NOINLINE_ +# Frame pointer will always be present so native stack walking is supported. +CFLAGS += -DPLATFORM_NATIVE_STACK_WALKING_SUPPORTED=1 + # Set the environment variable HOTSPARC_GENERIC to "true" # to inhibit the effect of the previous line on CFLAGS. --- old/make/linux/makefiles/vm.make 2013-07-03 14:21:10.125196002 -0400 +++ new/make/linux/makefiles/vm.make 2013-07-03 14:21:09.590558460 -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 --- old/src/share/vm/services/memTracker.cpp 2013-07-03 14:21:13.424551008 -0400 +++ new/src/share/vm/services/memTracker.cpp 2013-07-03 14:21:12.776169928 -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); } --- old/src/share/vm/utilities/globalDefinitions.hpp 2013-07-03 14:21:16.297174305 -0400 +++ new/src/share/vm/utilities/globalDefinitions.hpp 2013-07-03 14:21:15.358741365 -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.