< prev index next >

src/hotspot/share/runtime/globals.hpp

Print this page
rev 59383 : [mq]: final


 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   experimental(intx, MonitorUsedDeflationThreshold, 90,                     \
 695                 "Percentage of used monitors before triggering cleanup "    \
 696                 "safepoint which deflates monitors (0 is off). "            \
 697                 "The check is performed on GuaranteedSafepointInterval.")   \
 698                 range(0, 100)                                               \
 699                                                                             \
 700   experimental(intx, hashCode, 5,                                           \
 701                "(Unstable) select hashCode generation algorithm")           \
 702                                                                             \
 703   product(bool, FilterSpuriousWakeups, true,                                \
 704           "When true prevents OS-level spurious, or premature, wakeups "    \
 705           "from Object.wait (Ignored for Windows)")                         \
 706                                                                             \
 707   develop(bool, UsePthreads, false,                                         \
 708           "Use pthread-based instead of libthread-based synchronization "   \
 709           "(SPARC only)")                                                   \
 710                                                                             \
 711   product(bool, ReduceSignalUsage, false,                                   \
 712           "Reduce the use of OS signals in Java and/or the VM")             \
 713                                                                             \
 714   develop(bool, LoadLineNumberTables, true,                                 \
 715           "Tell whether the class file parser loads line number tables")    \
 716                                                                             \
 717   develop(bool, LoadLocalVariableTables, true,                              \
 718           "Tell whether the class file parser loads local variable tables") \
 719                                                                             \
 720   develop(bool, LoadLocalVariableTypeTables, true,                          \
 721           "Tell whether the class file parser loads local variable type"    \
 722           "tables")                                                         \
 723                                                                             \
 724   product(bool, AllowUserSignalHandlers, false,                             \
 725           "Do not complain if the application installs signal handlers "    \
 726           "(Solaris & Linux only)")                                         \
 727                                                                             \
 728   product(bool, UseSignalChaining, true,                                    \
 729           "Use signal-chaining to invoke signal handlers installed "        \
 730           "by the application (Solaris & Linux only)")                      \
 731                                                                             \
 732   product(bool, RestoreMXCSROnJNICalls, false,                              \
 733           "Restore MXCSR when returning from JNI calls")                    \
 734                                                                             \
 735   product(bool, CheckJNICalls, false,                                       \
 736           "Verify all arguments to JNI calls")                              \
 737                                                                             \
 738   product(bool, UseFastJNIAccessors, true,                                  \
 739           "Use optimized versions of Get<Primitive>Field")                  \
 740                                                                             \
 741   product(intx, MaxJNILocalCapacity, 65536,                                 \
 742           "Maximum allowable local JNI handle capacity to "                 \
 743           "EnsureLocalCapacity() and PushLocalFrame(), "                    \
 744           "where <= 0 is unlimited, default: 65536")                        \
 745           range(min_intx, max_intx)                                         \
 746                                                                             \
 747   product(bool, EagerXrunInit, false,                                       \
 748           "Eagerly initialize -Xrun libraries; allows startup profiling, "  \
 749           "but not all -Xrun libraries may support the state of the VM "    \
 750           "at this time")                                                   \


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


2356   product(ccstr, SharedClassListFile, NULL,                                 \
2357           "Override the default CDS class list")                            \
2358                                                                             \
2359   product(ccstr, SharedArchiveFile, NULL,                                   \
2360           "Override the default location of the CDS archive file")          \
2361                                                                             \
2362   product(ccstr, ArchiveClassesAtExit, NULL,                                \
2363           "The path and name of the dynamic archive file")                  \
2364                                                                             \
2365   product(ccstr, ExtraSharedClassListFile, NULL,                            \
2366           "Extra classlist for building the CDS archive file")              \
2367                                                                             \
2368   diagnostic(intx, ArchiveRelocationMode, 0,                                \
2369            "(0) first map at preferred address, and if "                    \
2370            "unsuccessful, map at alternative address (default); "           \
2371            "(1) always map at alternative address; "                        \
2372            "(2) always map at preferred address, and if unsuccessful, "     \
2373            "do not map the archive")                                        \
2374            range(0, 2)                                                      \
2375                                                                             \
2376   experimental(size_t, ArrayAllocatorMallocLimit,                           \
2377           SOLARIS_ONLY(64*K) NOT_SOLARIS((size_t)-1),                       \
2378           "Allocation less than this value will be allocated "              \
2379           "using malloc. Larger allocations will use mmap.")                \
2380                                                                             \
2381   experimental(bool, AlwaysAtomicAccesses, false,                           \
2382           "Accesses to all variables should always be atomic")              \
2383                                                                             \
2384   diagnostic(bool, UseUnalignedAccesses, false,                             \
2385           "Use unaligned memory accesses in Unsafe")                        \
2386                                                                             \
2387   product_pd(bool, PreserveFramePointer,                                    \
2388              "Use the FP register for holding the frame pointer "           \
2389              "and not as a general purpose register.")                      \
2390                                                                             \
2391   diagnostic(bool, CheckIntrinsics, true,                                   \
2392              "When a class C is loaded, check that "                        \
2393              "(1) all intrinsics defined by the VM for class C are present "\
2394              "in the loaded class file and are marked with the "            \
2395              "@HotSpotIntrinsicCandidate annotation, that "                 \
2396              "(2) there is an intrinsic registered for all loaded methods " \
2397              "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   experimental(intx, MonitorUsedDeflationThreshold, 90,                     \
 691                 "Percentage of used monitors before triggering cleanup "    \
 692                 "safepoint which deflates monitors (0 is off). "            \
 693                 "The check is performed on GuaranteedSafepointInterval.")   \
 694                 range(0, 100)                                               \
 695                                                                             \
 696   experimental(intx, hashCode, 5,                                           \
 697                "(Unstable) select hashCode generation algorithm")           \
 698                                                                             \
 699   product(bool, FilterSpuriousWakeups, true,                                \
 700           "When true prevents OS-level spurious, or premature, wakeups "    \
 701           "from Object.wait (Ignored for Windows)")                         \
 702                                                                             \




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


1782           "Record replay data for crashing compiler threads")               \
1783                                                                             \
1784   product(bool, CICompilerCountPerCPU, false,                               \
1785           "1 compiler thread for log(N CPUs)")                              \
1786                                                                             \
1787   notproduct(intx, CICrashAt, -1,                                           \
1788           "id of compilation to trigger assert in compiler thread for "     \
1789           "the purpose of testing, e.g. generation of replay data")         \
1790   notproduct(bool, CIObjectFactoryVerify, false,                            \
1791           "enable potentially expensive verification in ciObjectFactory")   \
1792                                                                             \
1793   diagnostic(bool, AbortVMOnCompilationFailure, false,                      \
1794           "Abort VM when method had failed to compile.")                    \
1795                                                                             \
1796   /* Priorities */                                                          \
1797   product_pd(bool, UseThreadPriorities,  "Use native thread priorities")    \
1798                                                                             \
1799   product(intx, ThreadPriorityPolicy, 0,                                    \
1800           "0 : Normal.                                                     "\
1801           "    VM chooses priorities that are appropriate for normal       "\
1802           "    applications.                                               "\
1803           "    On Windows applications are allowed to use higher native    "\


1804           "    priorities. However, with ThreadPriorityPolicy=0, VM will   "\
1805           "    not use the highest possible native priority,               "\
1806           "    THREAD_PRIORITY_TIME_CRITICAL, as it may interfere with     "\
1807           "    system threads. On Linux thread priorities are ignored      "\
1808           "    because the OS does not support static priority in          "\
1809           "    SCHED_OTHER scheduling class which is the only choice for   "\
1810           "    non-root, non-realtime applications.                        "\
1811           "1 : Aggressive.                                                 "\
1812           "    Java thread priorities map over to the entire range of      "\
1813           "    native thread priorities. Higher Java thread priorities map "\
1814           "    to higher native thread priorities. This policy should be   "\
1815           "    used with care, as sometimes it can cause performance       "\
1816           "    degradation in the application and/or the entire system. On "\
1817           "    Linux/BSD/macOS this policy requires root privilege or an   "\
1818           "    extended capability.")                                       \
1819           range(0, 1)                                                       \
1820                                                                             \
1821   product(bool, ThreadPriorityVerbose, false,                               \
1822           "Print priority changes")                                         \
1823                                                                             \
1824   product(intx, CompilerThreadPriority, -1,                                 \
1825           "The native priority at which compiler threads should run "       \
1826           "(-1 means no change)")                                           \
1827           range(min_jint, max_jint)                                         \

1828                                                                             \
1829   product(intx, VMThreadPriority, -1,                                       \
1830           "The native priority at which the VM thread should run "          \
1831           "(-1 means no change)")                                           \
1832           range(-1, 127)                                                    \
1833                                                                             \
1834   product(intx, JavaPriority1_To_OSPriority, -1,                            \
1835           "Map Java priorities to OS priorities")                           \
1836           range(-1, 127)                                                    \
1837                                                                             \
1838   product(intx, JavaPriority2_To_OSPriority, -1,                            \
1839           "Map Java priorities to OS priorities")                           \
1840           range(-1, 127)                                                    \
1841                                                                             \
1842   product(intx, JavaPriority3_To_OSPriority, -1,                            \
1843           "Map Java priorities to OS priorities")                           \
1844           range(-1, 127)                                                    \
1845                                                                             \
1846   product(intx, JavaPriority4_To_OSPriority, -1,                            \
1847           "Map Java priorities to OS priorities")                           \


2345   product(ccstr, SharedClassListFile, NULL,                                 \
2346           "Override the default CDS class list")                            \
2347                                                                             \
2348   product(ccstr, SharedArchiveFile, NULL,                                   \
2349           "Override the default location of the CDS archive file")          \
2350                                                                             \
2351   product(ccstr, ArchiveClassesAtExit, NULL,                                \
2352           "The path and name of the dynamic archive file")                  \
2353                                                                             \
2354   product(ccstr, ExtraSharedClassListFile, NULL,                            \
2355           "Extra classlist for building the CDS archive file")              \
2356                                                                             \
2357   diagnostic(intx, ArchiveRelocationMode, 0,                                \
2358            "(0) first map at preferred address, and if "                    \
2359            "unsuccessful, map at alternative address (default); "           \
2360            "(1) always map at alternative address; "                        \
2361            "(2) always map at preferred address, and if unsuccessful, "     \
2362            "do not map the archive")                                        \
2363            range(0, 2)                                                      \
2364                                                                             \
2365   experimental(size_t, ArrayAllocatorMallocLimit, (size_t)-1,               \

2366           "Allocation less than this value will be allocated "              \
2367           "using malloc. Larger allocations will use mmap.")                \
2368                                                                             \
2369   experimental(bool, AlwaysAtomicAccesses, false,                           \
2370           "Accesses to all variables should always be atomic")              \
2371                                                                             \
2372   diagnostic(bool, UseUnalignedAccesses, false,                             \
2373           "Use unaligned memory accesses in Unsafe")                        \
2374                                                                             \
2375   product_pd(bool, PreserveFramePointer,                                    \
2376              "Use the FP register for holding the frame pointer "           \
2377              "and not as a general purpose register.")                      \
2378                                                                             \
2379   diagnostic(bool, CheckIntrinsics, true,                                   \
2380              "When a class C is loaded, check that "                        \
2381              "(1) all intrinsics defined by the VM for class C are present "\
2382              "in the loaded class file and are marked with the "            \
2383              "@HotSpotIntrinsicCandidate annotation, that "                 \
2384              "(2) there is an intrinsic registered for all loaded methods " \
2385              "that are annotated with the @HotSpotIntrinsicCandidate "      \


< prev index next >