Mercurial > hg > truffle
diff src/share/vm/services/memTracker.cpp @ 10355:fb14e9ed1594
8011064: Some tests have failed with SIGSEGV on arm-hflt on build b82
Summary: NMT_detail is only supported when frame pointers are not omitted (-fno-omit-frame-pointer).
Reviewed-by: dholmes, cjplummer
author | jprovino |
---|---|
date | Tue, 28 May 2013 11:32:46 -0400 |
parents | fbca7eaeac2e |
children | 1f4355cee9a2 16b10327b00d |
line wrap: on
line diff
--- a/src/share/vm/services/memTracker.cpp Fri May 24 09:35:10 2013 -0700 +++ b/src/share/vm/services/memTracker.cpp Tue May 28 11:32:46 2013 -0400 @@ -34,6 +34,7 @@ #include "services/memReporter.hpp" #include "services/memTracker.hpp" #include "utilities/decoder.hpp" +#include "utilities/defaultStream.hpp" #include "utilities/globalDefinitions.hpp" bool NMT_track_callsite = false; @@ -77,7 +78,15 @@ if (strcmp(option_line, "=summary") == 0) { _tracking_level = NMT_summary; } else if (strcmp(option_line, "=detail") == 0) { - _tracking_level = NMT_detail; + // detail relies on a stack-walking ability that may not + // be available depending on platform and/or compiler flags + if (PLATFORM_NMT_DETAIL_SUPPORTED) { + _tracking_level = NMT_detail; + } else { + jio_fprintf(defaultStream::error_stream(), + "NMT detail is not supported on this platform. Using NMT summary instead."); + _tracking_level = NMT_summary; + } } else if (strcmp(option_line, "=off") != 0) { vm_exit_during_initialization("Syntax error, expecting -XX:NativeMemoryTracking=[off|summary|detail]", NULL); }