Mercurial > hg > graal-jvmci-8
comparison src/share/vm/runtime/arguments.cpp @ 20360:833b0f92429a
8046598: Scalable Native memory tracking development
Summary: Enhance scalability of native memory tracking
Reviewed-by: coleenp, ctornqvi, gtriantafill
author | zgu |
---|---|
date | Wed, 27 Aug 2014 08:19:12 -0400 |
parents | 411e30e5fbb8 |
children | fd4dbaff3002 6e0cb14ce59b |
comparison
equal
deleted
inserted
replaced
20359:4d3a43351904 | 20360:833b0f92429a |
---|---|
292 { "UseISM", JDK_Version::jdk(8), JDK_Version::jdk(9) }, | 292 { "UseISM", JDK_Version::jdk(8), JDK_Version::jdk(9) }, |
293 { "UsePermISM", JDK_Version::jdk(8), JDK_Version::jdk(9) }, | 293 { "UsePermISM", JDK_Version::jdk(8), JDK_Version::jdk(9) }, |
294 { "UseMPSS", JDK_Version::jdk(8), JDK_Version::jdk(9) }, | 294 { "UseMPSS", JDK_Version::jdk(8), JDK_Version::jdk(9) }, |
295 { "UseStringCache", JDK_Version::jdk(8), JDK_Version::jdk(9) }, | 295 { "UseStringCache", JDK_Version::jdk(8), JDK_Version::jdk(9) }, |
296 { "UseOldInlining", JDK_Version::jdk(9), JDK_Version::jdk(10) }, | 296 { "UseOldInlining", JDK_Version::jdk(9), JDK_Version::jdk(10) }, |
297 { "AutoShutdownNMT", JDK_Version::jdk(9), JDK_Version::jdk(10) }, | |
297 #ifdef PRODUCT | 298 #ifdef PRODUCT |
298 { "DesiredMethodLimit", | 299 { "DesiredMethodLimit", |
299 JDK_Version::jdk_update(7, 2), JDK_Version::jdk(8) }, | 300 JDK_Version::jdk_update(7, 2), JDK_Version::jdk(8) }, |
300 #endif // PRODUCT | 301 #endif // PRODUCT |
301 { NULL, JDK_Version(0), JDK_Version(0) } | 302 { NULL, JDK_Version(0), JDK_Version(0) } |
2341 | 2342 |
2342 status = status && verify_min_value(MarkSweepAlwaysCompactCount, 1, "MarkSweepAlwaysCompactCount"); | 2343 status = status && verify_min_value(MarkSweepAlwaysCompactCount, 1, "MarkSweepAlwaysCompactCount"); |
2343 | 2344 |
2344 if (PrintNMTStatistics) { | 2345 if (PrintNMTStatistics) { |
2345 #if INCLUDE_NMT | 2346 #if INCLUDE_NMT |
2346 if (MemTracker::tracking_level() == MemTracker::NMT_off) { | 2347 if (MemTracker::tracking_level() == NMT_off) { |
2347 #endif // INCLUDE_NMT | 2348 #endif // INCLUDE_NMT |
2348 warning("PrintNMTStatistics is disabled, because native memory tracking is not enabled"); | 2349 warning("PrintNMTStatistics is disabled, because native memory tracking is not enabled"); |
2349 PrintNMTStatistics = false; | 2350 PrintNMTStatistics = false; |
2350 #if INCLUDE_NMT | 2351 #if INCLUDE_NMT |
2351 } | 2352 } |
3531 } | 3532 } |
3532 if (match_option(option, "-XX:+PrintFlagsInitial", &tail)) { | 3533 if (match_option(option, "-XX:+PrintFlagsInitial", &tail)) { |
3533 CommandLineFlags::printFlags(tty, false); | 3534 CommandLineFlags::printFlags(tty, false); |
3534 vm_exit(0); | 3535 vm_exit(0); |
3535 } | 3536 } |
3537 #if INCLUDE_NMT | |
3536 if (match_option(option, "-XX:NativeMemoryTracking", &tail)) { | 3538 if (match_option(option, "-XX:NativeMemoryTracking", &tail)) { |
3537 #if INCLUDE_NMT | 3539 // The launcher did not setup nmt environment variable properly. |
3538 MemTracker::init_tracking_options(tail); | 3540 // if (!MemTracker::check_launcher_nmt_support(tail)) { |
3539 #else | 3541 // warning("Native Memory Tracking did not setup properly, using wrong launcher?"); |
3540 jio_fprintf(defaultStream::error_stream(), | 3542 // } |
3541 "Native Memory Tracking is not supported in this VM\n"); | 3543 |
3542 return JNI_ERR; | 3544 // Verify if nmt option is valid. |
3545 if (MemTracker::verify_nmt_option()) { | |
3546 // Late initialization, still in single-threaded mode. | |
3547 if (MemTracker::tracking_level() >= NMT_summary) { | |
3548 MemTracker::init(); | |
3549 } | |
3550 } else { | |
3551 vm_exit_during_initialization("Syntax error, expecting -XX:NativeMemoryTracking=[off|summary|detail]", NULL); | |
3552 } | |
3553 } | |
3543 #endif | 3554 #endif |
3544 } | |
3545 | 3555 |
3546 | 3556 |
3547 #ifndef PRODUCT | 3557 #ifndef PRODUCT |
3548 if (match_option(option, "-XX:+PrintFlagsWithComments", &tail)) { | 3558 if (match_option(option, "-XX:+PrintFlagsWithComments", &tail)) { |
3549 CommandLineFlags::printFlags(tty, true); | 3559 CommandLineFlags::printFlags(tty, true); |