< prev index next >

src/hotspot/share/runtime/globals.hpp

Print this page
rev 59103 : imported patch hotspot


 392           "Delay in milliseconds for option AbortVMOnVMOperationTimeout")   \
 393           range(0, max_intx)                                                \
 394                                                                             \
 395   /* 50 retries * (5 * current_retry_count) millis = ~6.375 seconds */      \
 396   /* typically, at most a few retries are needed                    */      \
 397   product(intx, SuspendRetryCount, 50,                                      \
 398           "Maximum retry count for an external suspend request")            \
 399           range(0, max_intx)                                                \
 400                                                                             \
 401   product(intx, SuspendRetryDelay, 5,                                       \
 402           "Milliseconds to delay per retry (* current_retry_count)")        \
 403           range(0, max_intx)                                                \
 404                                                                             \
 405   product(bool, AssertOnSuspendWaitFailure, false,                          \
 406           "Assert/Guarantee on external suspend wait failure")              \
 407                                                                             \
 408   product(bool, TraceSuspendWaitFailures, false,                            \
 409           "Trace external suspend wait failures")                           \
 410                                                                             \
 411   product(bool, MaxFDLimit, true,                                           \
 412           "Bump the number of file descriptors to maximum in Solaris")      \
 413                                                                             \
 414   diagnostic(bool, LogEvents, true,                                         \
 415           "Enable the various ring buffer event logs")                      \
 416                                                                             \
 417   diagnostic(uintx, LogEventsBufferEntries, 20,                             \
 418           "Number of ring buffer event logs")                               \
 419           range(1, NOT_LP64(1*K) LP64_ONLY(1*M))                            \
 420                                                                             \
 421   diagnostic(bool, BytecodeVerificationRemote, true,                        \
 422           "Enable the Java bytecode verifier for remote classes")           \
 423                                                                             \
 424   diagnostic(bool, BytecodeVerificationLocal, false,                        \
 425           "Enable the Java bytecode verifier for local classes")            \
 426                                                                             \
 427   develop(bool, ForceFloatExceptions, trueInDebug,                          \
 428           "Force exceptions on FP stack under/overflow")                    \
 429                                                                             \
 430   develop(bool, VerifyStackAtCalls, false,                                  \
 431           "Verify that the stack pointer is unchanged after calls")         \
 432                                                                             \


 662           "Write memory usage profiling to log file")                       \
 663                                                                             \
 664   notproduct(bool, PrintSystemDictionaryAtExit, false,                      \
 665           "Print the system dictionary at exit")                            \
 666                                                                             \
 667   diagnostic(bool, DynamicallyResizeSystemDictionaries, true,               \
 668           "Dynamically resize system dictionaries as needed")               \
 669                                                                             \
 670   product(bool, AlwaysLockClassLoader, false,                               \
 671           "Require the VM to acquire the class loader lock before calling " \
 672           "loadClass() even for class loaders registering "                 \
 673           "as parallel capable")                                            \
 674                                                                             \
 675   product(bool, AllowParallelDefineClass, false,                            \
 676           "Allow parallel defineClass requests for class loaders "          \
 677           "registering as parallel capable")                                \
 678                                                                             \
 679   product_pd(bool, DontYieldALot,                                           \
 680           "Throw away obvious excess yield calls")                          \
 681                                                                             \
 682   develop(bool, UseDetachedThreads, true,                                   \
 683           "Use detached threads that are recycled upon termination "        \
 684           "(for Solaris only)")                                             \
 685                                                                             \
 686   experimental(bool, DisablePrimordialThreadGuardPages, false,              \
 687                "Disable the use of stack guard pages if the JVM is loaded " \
 688                "on the primordial process thread")                          \
 689                                                                             \
 690   product(bool, UseLWPSynchronization, true,                                \
 691           "Use LWP-based instead of libthread-based synchronization "       \
 692           "(SPARC only)")                                                   \
 693                                                                             \
 694   product(intx, MonitorBound, 0, "(Deprecated) Bound Monitor population")   \
 695           range(0, max_jint)                                                \
 696                                                                             \
 697   experimental(intx, MonitorUsedDeflationThreshold, 90,                     \
 698                 "Percentage of used monitors before triggering cleanup "    \
 699                 "safepoint which deflates monitors (0 is off). "            \
 700                 "The check is performed on GuaranteedSafepointInterval.")   \
 701                 range(0, 100)                                               \
 702                                                                             \
 703   experimental(intx, hashCode, 5,                                           \
 704                "(Unstable) select hashCode generation algorithm")           \
 705                                                                             \
 706   product(bool, FilterSpuriousWakeups, true,                                \
 707           "When true prevents OS-level spurious, or premature, wakeups "    \
 708           "from Object.wait (Ignored for Windows)")                         \
 709                                                                             \
 710   develop(bool, UsePthreads, false,                                         \
 711           "Use pthread-based instead of libthread-based synchronization "   \
 712           "(SPARC only)")                                                   \
 713                                                                             \
 714   product(bool, ReduceSignalUsage, false,                                   \
 715           "Reduce the use of OS signals in Java and/or the VM")             \
 716                                                                             \
 717   develop(bool, LoadLineNumberTables, true,                                 \
 718           "Tell whether the class file parser loads line number tables")    \
 719                                                                             \
 720   develop(bool, LoadLocalVariableTables, true,                              \
 721           "Tell whether the class file parser loads local variable tables") \
 722                                                                             \
 723   develop(bool, LoadLocalVariableTypeTables, true,                          \
 724           "Tell whether the class file parser loads local variable type"    \
 725           "tables")                                                         \
 726                                                                             \
 727   product(bool, AllowUserSignalHandlers, false,                             \
 728           "Do not complain if the application installs signal handlers "    \
 729           "(Solaris & Linux only)")                                         \
 730                                                                             \
 731   product(bool, UseSignalChaining, true,                                    \
 732           "Use signal-chaining to invoke signal handlers installed "        \
 733           "by the application (Solaris & Linux only)")                      \
 734                                                                             \
 735   product(bool, RestoreMXCSROnJNICalls, false,                              \
 736           "Restore MXCSR when returning from JNI calls")                    \
 737                                                                             \
 738   product(bool, CheckJNICalls, false,                                       \
 739           "Verify all arguments to JNI calls")                              \
 740                                                                             \
 741   product(bool, UseFastJNIAccessors, true,                                  \
 742           "Use optimized versions of Get<Primitive>Field")                  \
 743                                                                             \
 744   product(intx, MaxJNILocalCapacity, 65536,                                 \
 745           "Maximum allowable local JNI handle capacity to "                 \
 746           "EnsureLocalCapacity() and PushLocalFrame(), "                    \
 747           "where <= 0 is unlimited, default: 65536")                        \
 748           range(min_intx, max_intx)                                         \
 749                                                                             \
 750   product(bool, EagerXrunInit, false,                                       \
 751           "Eagerly initialize -Xrun libraries; allows startup profiling, "  \
 752           "but not all -Xrun libraries may support the state of the VM "    \
 753           "at this time")                                                   \


1816           "Record replay data for crashing compiler threads")               \
1817                                                                             \
1818   product(bool, CICompilerCountPerCPU, false,                               \
1819           "1 compiler thread for log(N CPUs)")                              \
1820                                                                             \
1821   notproduct(intx, CICrashAt, -1,                                           \
1822           "id of compilation to trigger assert in compiler thread for "     \
1823           "the purpose of testing, e.g. generation of replay data")         \
1824   notproduct(bool, CIObjectFactoryVerify, false,                            \
1825           "enable potentially expensive verification in ciObjectFactory")   \
1826                                                                             \
1827   diagnostic(bool, AbortVMOnCompilationFailure, false,                      \
1828           "Abort VM when method had failed to compile.")                    \
1829                                                                             \
1830   /* Priorities */                                                          \
1831   product_pd(bool, UseThreadPriorities,  "Use native thread priorities")    \
1832                                                                             \
1833   product(intx, ThreadPriorityPolicy, 0,                                    \
1834           "0 : Normal.                                                     "\
1835           "    VM chooses priorities that are appropriate for normal       "\
1836           "    applications. On Solaris NORM_PRIORITY and above are mapped "\
1837           "    to normal native priority. Java priorities below "           \
1838           "    NORM_PRIORITY map to lower native priority values. On       "\
1839           "    Windows applications are allowed to use higher native       "\
1840           "    priorities. However, with ThreadPriorityPolicy=0, VM will   "\
1841           "    not use the highest possible native priority,               "\
1842           "    THREAD_PRIORITY_TIME_CRITICAL, as it may interfere with     "\
1843           "    system threads. On Linux thread priorities are ignored      "\
1844           "    because the OS does not support static priority in          "\
1845           "    SCHED_OTHER scheduling class which is the only choice for   "\
1846           "    non-root, non-realtime applications.                        "\
1847           "1 : Aggressive.                                                 "\
1848           "    Java thread priorities map over to the entire range of      "\
1849           "    native thread priorities. Higher Java thread priorities map "\
1850           "    to higher native thread priorities. This policy should be   "\
1851           "    used with care, as sometimes it can cause performance       "\
1852           "    degradation in the application and/or the entire system. On "\
1853           "    Linux/BSD/macOS this policy requires root privilege or an   "\
1854           "    extended capability.")                                       \
1855           range(0, 1)                                                       \
1856                                                                             \
1857   product(bool, ThreadPriorityVerbose, false,                               \
1858           "Print priority changes")                                         \
1859                                                                             \


2383           "Override the default CDS class list")                            \
2384                                                                             \
2385   product(ccstr, SharedArchiveFile, NULL,                                   \
2386           "Override the default location of the CDS archive file")          \
2387                                                                             \
2388   product(ccstr, ArchiveClassesAtExit, NULL,                                \
2389           "The path and name of the dynamic archive file")                  \
2390                                                                             \
2391   product(ccstr, ExtraSharedClassListFile, NULL,                            \
2392           "Extra classlist for building the CDS archive file")              \
2393                                                                             \
2394   diagnostic(intx, ArchiveRelocationMode, 0,                                \
2395            "(0) first map at preferred address, and if "                    \
2396            "unsuccessful, map at alternative address (default); "           \
2397            "(1) always map at alternative address; "                        \
2398            "(2) always map at preferred address, and if unsuccessful, "     \
2399            "do not map the archive")                                        \
2400            range(0, 2)                                                      \
2401                                                                             \
2402   experimental(size_t, ArrayAllocatorMallocLimit,                           \
2403           SOLARIS_ONLY(64*K) NOT_SOLARIS((size_t)-1),                       \
2404           "Allocation less than this value will be allocated "              \
2405           "using malloc. Larger allocations will use mmap.")                \
2406                                                                             \
2407   experimental(bool, AlwaysAtomicAccesses, false,                           \
2408           "Accesses to all variables should always be atomic")              \
2409                                                                             \
2410   diagnostic(bool, UseUnalignedAccesses, false,                             \
2411           "Use unaligned memory accesses in Unsafe")                        \
2412                                                                             \
2413   product_pd(bool, PreserveFramePointer,                                    \
2414              "Use the FP register for holding the frame pointer "           \
2415              "and not as a general purpose register.")                      \
2416                                                                             \
2417   diagnostic(bool, CheckIntrinsics, true,                                   \
2418              "When a class C is loaded, check that "                        \
2419              "(1) all intrinsics defined by the VM for class C are present "\
2420              "in the loaded class file and are marked with the "            \
2421              "@HotSpotIntrinsicCandidate annotation, that "                 \
2422              "(2) there is an intrinsic registered for all loaded methods " \
2423              "that are annotated with the @HotSpotIntrinsicCandidate "      \




 392           "Delay in milliseconds for option AbortVMOnVMOperationTimeout")   \
 393           range(0, max_intx)                                                \
 394                                                                             \
 395   /* 50 retries * (5 * current_retry_count) millis = ~6.375 seconds */      \
 396   /* typically, at most a few retries are needed                    */      \
 397   product(intx, SuspendRetryCount, 50,                                      \
 398           "Maximum retry count for an external suspend request")            \
 399           range(0, max_intx)                                                \
 400                                                                             \
 401   product(intx, SuspendRetryDelay, 5,                                       \
 402           "Milliseconds to delay per retry (* current_retry_count)")        \
 403           range(0, max_intx)                                                \
 404                                                                             \
 405   product(bool, AssertOnSuspendWaitFailure, false,                          \
 406           "Assert/Guarantee on external suspend wait failure")              \
 407                                                                             \
 408   product(bool, TraceSuspendWaitFailures, false,                            \
 409           "Trace external suspend wait failures")                           \
 410                                                                             \
 411   product(bool, MaxFDLimit, true,                                           \
 412           "Bump the number of file descriptors to maximum (Unix only)")     \
 413                                                                             \
 414   diagnostic(bool, LogEvents, true,                                         \
 415           "Enable the various ring buffer event logs")                      \
 416                                                                             \
 417   diagnostic(uintx, LogEventsBufferEntries, 20,                             \
 418           "Number of ring buffer event logs")                               \
 419           range(1, NOT_LP64(1*K) LP64_ONLY(1*M))                            \
 420                                                                             \
 421   diagnostic(bool, BytecodeVerificationRemote, true,                        \
 422           "Enable the Java bytecode verifier for remote classes")           \
 423                                                                             \
 424   diagnostic(bool, BytecodeVerificationLocal, false,                        \
 425           "Enable the Java bytecode verifier for local classes")            \
 426                                                                             \
 427   develop(bool, ForceFloatExceptions, trueInDebug,                          \
 428           "Force exceptions on FP stack under/overflow")                    \
 429                                                                             \
 430   develop(bool, VerifyStackAtCalls, false,                                  \
 431           "Verify that the stack pointer is unchanged after calls")         \
 432                                                                             \


 662           "Write memory usage profiling to log file")                       \
 663                                                                             \
 664   notproduct(bool, PrintSystemDictionaryAtExit, false,                      \
 665           "Print the system dictionary at exit")                            \
 666                                                                             \
 667   diagnostic(bool, DynamicallyResizeSystemDictionaries, true,               \
 668           "Dynamically resize system dictionaries as needed")               \
 669                                                                             \
 670   product(bool, AlwaysLockClassLoader, false,                               \
 671           "Require the VM to acquire the class loader lock before calling " \
 672           "loadClass() even for class loaders registering "                 \
 673           "as parallel capable")                                            \
 674                                                                             \
 675   product(bool, AllowParallelDefineClass, false,                            \
 676           "Allow parallel defineClass requests for class loaders "          \
 677           "registering as parallel capable")                                \
 678                                                                             \
 679   product_pd(bool, DontYieldALot,                                           \
 680           "Throw away obvious excess yield calls")                          \
 681                                                                             \




 682   experimental(bool, DisablePrimordialThreadGuardPages, false,              \
 683                "Disable the use of stack guard pages if the JVM is loaded " \
 684                "on the primordial process thread")                          \
 685                                                                             \
 686   product(bool, UseLWPSynchronization, true,                                \
 687           "Use LWP-based instead of libthread-based synchronization "       \
 688           "(SPARC only)")                                                   \
 689                                                                             \
 690   product(intx, MonitorBound, 0, "(Deprecated) Bound Monitor population")   \
 691           range(0, max_jint)                                                \
 692                                                                             \
 693   experimental(intx, MonitorUsedDeflationThreshold, 90,                     \
 694                 "Percentage of used monitors before triggering cleanup "    \
 695                 "safepoint which deflates monitors (0 is off). "            \
 696                 "The check is performed on GuaranteedSafepointInterval.")   \
 697                 range(0, 100)                                               \
 698                                                                             \
 699   experimental(intx, hashCode, 5,                                           \
 700                "(Unstable) select hashCode generation algorithm")           \
 701                                                                             \
 702   product(bool, FilterSpuriousWakeups, true,                                \
 703           "When true prevents OS-level spurious, or premature, wakeups "    \
 704           "from Object.wait (Ignored for Windows)")                         \
 705                                                                             \




 706   product(bool, ReduceSignalUsage, false,                                   \
 707           "Reduce the use of OS signals in Java and/or the VM")             \
 708                                                                             \
 709   develop(bool, LoadLineNumberTables, true,                                 \
 710           "Tell whether the class file parser loads line number tables")    \
 711                                                                             \
 712   develop(bool, LoadLocalVariableTables, true,                              \
 713           "Tell whether the class file parser loads local variable tables") \
 714                                                                             \
 715   develop(bool, LoadLocalVariableTypeTables, true,                          \
 716           "Tell whether the class file parser loads local variable type"    \
 717           "tables")                                                         \
 718                                                                             \
 719   product(bool, AllowUserSignalHandlers, false,                             \
 720           "Do not complain if the application installs signal handlers "    \
 721           "(Unix only)")                                                    \
 722                                                                             \
 723   product(bool, UseSignalChaining, true,                                    \
 724           "Use signal-chaining to invoke signal handlers installed "        \
 725           "by the application (Unix only)")                                 \
 726                                                                             \
 727   product(bool, RestoreMXCSROnJNICalls, false,                              \
 728           "Restore MXCSR when returning from JNI calls")                    \
 729                                                                             \
 730   product(bool, CheckJNICalls, false,                                       \
 731           "Verify all arguments to JNI calls")                              \
 732                                                                             \
 733   product(bool, UseFastJNIAccessors, true,                                  \
 734           "Use optimized versions of Get<Primitive>Field")                  \
 735                                                                             \
 736   product(intx, MaxJNILocalCapacity, 65536,                                 \
 737           "Maximum allowable local JNI handle capacity to "                 \
 738           "EnsureLocalCapacity() and PushLocalFrame(), "                    \
 739           "where <= 0 is unlimited, default: 65536")                        \
 740           range(min_intx, max_intx)                                         \
 741                                                                             \
 742   product(bool, EagerXrunInit, false,                                       \
 743           "Eagerly initialize -Xrun libraries; allows startup profiling, "  \
 744           "but not all -Xrun libraries may support the state of the VM "    \
 745           "at this time")                                                   \


1808           "Record replay data for crashing compiler threads")               \
1809                                                                             \
1810   product(bool, CICompilerCountPerCPU, false,                               \
1811           "1 compiler thread for log(N CPUs)")                              \
1812                                                                             \
1813   notproduct(intx, CICrashAt, -1,                                           \
1814           "id of compilation to trigger assert in compiler thread for "     \
1815           "the purpose of testing, e.g. generation of replay data")         \
1816   notproduct(bool, CIObjectFactoryVerify, false,                            \
1817           "enable potentially expensive verification in ciObjectFactory")   \
1818                                                                             \
1819   diagnostic(bool, AbortVMOnCompilationFailure, false,                      \
1820           "Abort VM when method had failed to compile.")                    \
1821                                                                             \
1822   /* Priorities */                                                          \
1823   product_pd(bool, UseThreadPriorities,  "Use native thread priorities")    \
1824                                                                             \
1825   product(intx, ThreadPriorityPolicy, 0,                                    \
1826           "0 : Normal.                                                     "\
1827           "    VM chooses priorities that are appropriate for normal       "\
1828           "    applications.                                               "\
1829           "    On Windows applications are allowed to use higher native    "\


1830           "    priorities. However, with ThreadPriorityPolicy=0, VM will   "\
1831           "    not use the highest possible native priority,               "\
1832           "    THREAD_PRIORITY_TIME_CRITICAL, as it may interfere with     "\
1833           "    system threads. On Linux thread priorities are ignored      "\
1834           "    because the OS does not support static priority in          "\
1835           "    SCHED_OTHER scheduling class which is the only choice for   "\
1836           "    non-root, non-realtime applications.                        "\
1837           "1 : Aggressive.                                                 "\
1838           "    Java thread priorities map over to the entire range of      "\
1839           "    native thread priorities. Higher Java thread priorities map "\
1840           "    to higher native thread priorities. This policy should be   "\
1841           "    used with care, as sometimes it can cause performance       "\
1842           "    degradation in the application and/or the entire system. On "\
1843           "    Linux/BSD/macOS this policy requires root privilege or an   "\
1844           "    extended capability.")                                       \
1845           range(0, 1)                                                       \
1846                                                                             \
1847   product(bool, ThreadPriorityVerbose, false,                               \
1848           "Print priority changes")                                         \
1849                                                                             \


2373           "Override the default CDS class list")                            \
2374                                                                             \
2375   product(ccstr, SharedArchiveFile, NULL,                                   \
2376           "Override the default location of the CDS archive file")          \
2377                                                                             \
2378   product(ccstr, ArchiveClassesAtExit, NULL,                                \
2379           "The path and name of the dynamic archive file")                  \
2380                                                                             \
2381   product(ccstr, ExtraSharedClassListFile, NULL,                            \
2382           "Extra classlist for building the CDS archive file")              \
2383                                                                             \
2384   diagnostic(intx, ArchiveRelocationMode, 0,                                \
2385            "(0) first map at preferred address, and if "                    \
2386            "unsuccessful, map at alternative address (default); "           \
2387            "(1) always map at alternative address; "                        \
2388            "(2) always map at preferred address, and if unsuccessful, "     \
2389            "do not map the archive")                                        \
2390            range(0, 2)                                                      \
2391                                                                             \
2392   experimental(size_t, ArrayAllocatorMallocLimit,                           \
2393           (size_t)-1,                                                       \
2394           "Allocation less than this value will be allocated "              \
2395           "using malloc. Larger allocations will use mmap.")                \
2396                                                                             \
2397   experimental(bool, AlwaysAtomicAccesses, false,                           \
2398           "Accesses to all variables should always be atomic")              \
2399                                                                             \
2400   diagnostic(bool, UseUnalignedAccesses, false,                             \
2401           "Use unaligned memory accesses in Unsafe")                        \
2402                                                                             \
2403   product_pd(bool, PreserveFramePointer,                                    \
2404              "Use the FP register for holding the frame pointer "           \
2405              "and not as a general purpose register.")                      \
2406                                                                             \
2407   diagnostic(bool, CheckIntrinsics, true,                                   \
2408              "When a class C is loaded, check that "                        \
2409              "(1) all intrinsics defined by the VM for class C are present "\
2410              "in the loaded class file and are marked with the "            \
2411              "@HotSpotIntrinsicCandidate annotation, that "                 \
2412              "(2) there is an intrinsic registered for all loaded methods " \
2413              "that are annotated with the @HotSpotIntrinsicCandidate "      \


< prev index next >