< prev index next >

src/hotspot/share/runtime/globals.hpp

Print this page

 789           "Verify all arguments to JNI calls")                              \
 790                                                                             \
 791   product(bool, UseFastJNIAccessors, true,                                  \
 792           "Use optimized versions of Get<Primitive>Field")                  \
 793                                                                             \
 794   product(intx, MaxJNILocalCapacity, 65536,                                 \
 795           "Maximum allowable local JNI handle capacity to "                 \
 796           "EnsureLocalCapacity() and PushLocalFrame(), "                    \
 797           "where <= 0 is unlimited, default: 65536")                        \
 798           range(min_intx, max_intx)                                         \
 799                                                                             \
 800   product(bool, EagerXrunInit, false,                                       \
 801           "Eagerly initialize -Xrun libraries; allows startup profiling, "  \
 802           "but not all -Xrun libraries may support the state of the VM "    \
 803           "at this time")                                                   \
 804                                                                             \
 805   develop(uintx, PreallocatedOutOfMemoryErrorCount, 4,                      \
 806           "Number of OutOfMemoryErrors preallocated with backtrace")        \
 807           range(0, 1024)                                                    \
 808                                                                             \
 809   develop(bool, PrintFieldLayout, false,                                    \
 810           "Print field layout for each class")                              \
 811                                                                             \





































 812   /* Need to limit the extent of the padding to reasonable size.          */\
 813   /* 8K is well beyond the reasonable HW cache line size, even with       */\
 814   /* aggressive prefetching, while still leaving the room for segregating */\
 815   /* among the distinct pages.                                            */\
 816   product(int, ContendedPaddingWidth, 128,                                  \
 817           "How many bytes to pad the fields/classes marked @Contended with")\
 818           range(0, 8192)                                                    \
 819           constraint(ContendedPaddingWidthConstraintFunc,AfterErgo)         \
 820                                                                             \
 821   product(bool, EnableContended, true,                                      \
 822           "Enable @Contended annotation support")                           \
 823                                                                             \
 824   product(bool, RestrictContended, true,                                    \
 825           "Restrict @Contended to trusted classes")                         \
 826                                                                             \
 827   product(int, DiagnoseSyncOnValueBasedClasses, 0, DIAGNOSTIC,              \
 828              "Detect and take action upon identifying synchronization on "  \
 829              "value based classes. Modes: "                                 \
 830              "0: off; "                                                     \
 831              "1: exit with fatal error; "                                   \

1745           "Create JMX Management Server")                                   \
1746                                                                             \
1747   product(bool, DisableAttachMechanism, false,                              \
1748           "Disable mechanism that allows tools to attach to this VM")       \
1749                                                                             \
1750   product(bool, StartAttachListener, false,                                 \
1751           "Always start Attach Listener at VM startup")                     \
1752                                                                             \
1753   product(bool, EnableDynamicAgentLoading, true,                            \
1754           "Allow tools to load agents with the attach mechanism")           \
1755                                                                             \
1756   product(bool, PrintConcurrentLocks, false, MANAGEABLE,                    \
1757           "Print java.util.concurrent locks in thread dump")                \
1758                                                                             \
1759   product(bool, PrintMethodHandleStubs, false, DIAGNOSTIC,                  \
1760           "Print generated stub code for method handles")                   \
1761                                                                             \
1762   product(bool, VerifyMethodHandles, trueInDebug, DIAGNOSTIC,               \
1763           "perform extra checks when constructing method handles")          \
1764                                                                             \



1765   product(bool, ShowHiddenFrames, false, DIAGNOSTIC,                        \
1766           "show method handle implementation frames (usually hidden)")      \
1767                                                                             \
1768   product(bool, ShowCarrierFrames, false, DIAGNOSTIC,                       \
1769           "show virtual threads' carrier frames in exceptions")             \
1770                                                                             \
1771   product(bool, TrustFinalNonStaticFields, false, EXPERIMENTAL,             \
1772           "trust final non-static declarations for constant folding")       \
1773                                                                             \
1774   product(bool, FoldStableValues, true, DIAGNOSTIC,                         \
1775           "Optimize loads from stable fields (marked w/ @Stable)")          \
1776                                                                             \
1777   product(int, UseBootstrapCallInfo, 1, DIAGNOSTIC,                         \
1778           "0: when resolving InDy or ConDy, force all BSM arguments to be " \
1779           "resolved before the bootstrap method is called; 1: when a BSM "  \
1780           "that may accept a BootstrapCallInfo is detected, use that API "  \
1781           "to pass BSM arguments, which allows the BSM to delay their "     \
1782           "resolution; 2+: stress test the BCI API by calling more BSMs "   \
1783           "via that API, instead of with the eagerly-resolved array.")      \
1784                                                                             \

1916           "On internal errors, include registers in error report.")         \
1917                                                                             \
1918   product(bool, UseSwitchProfiling, true, DIAGNOSTIC,                       \
1919           "leverage profiling for table/lookup switch")                     \
1920                                                                             \
1921   develop(bool, TraceMemoryWriteback, false,                                \
1922           "Trace memory writeback operations")                              \
1923                                                                             \
1924   JFR_ONLY(product(bool, FlightRecorder, false,                             \
1925           "(Deprecated) Enable Flight Recorder"))                           \
1926                                                                             \
1927   JFR_ONLY(product(ccstr, FlightRecorderOptions, nullptr,                   \
1928           "Flight Recorder options"))                                       \
1929                                                                             \
1930   JFR_ONLY(product(ccstr, StartFlightRecording, nullptr,                    \
1931           "Start flight recording with options"))                           \
1932                                                                             \
1933   product(bool, UseFastUnorderedTimeStamps, false, EXPERIMENTAL,            \
1934           "Use platform unstable time where supported for timestamps only") \
1935                                                                             \

















1936   product(bool, DeoptimizeNMethodBarriersALot, false, DIAGNOSTIC,           \
1937                 "Make nmethod barriers deoptimise a lot.")                  \
1938                                                                             \
1939   develop(bool, VerifyCrossModifyFence,                                     \
1940           false AARCH64_ONLY(DEBUG_ONLY(||true)),                           \
1941              "Mark all threads after a safepoint, and clear on a modify "   \
1942              "fence. Add cleanliness checks.")                              \
1943                                                                             \
1944   product(bool, UseObjectMonitorTable, true, DIAGNOSTIC,                    \
1945           "Use a table to record inflated monitors rather than the first "  \
1946           "word of the object.")                                            \
1947                                                                             \
1948   product(int, FastLockingSpins, 8, DIAGNOSTIC,                             \
1949           "Specifies the number of times fast locking will attempt to "     \
1950           "CAS the markWord before inflating. Between each CAS it will "    \
1951           "spin for exponentially more time, resulting in a total number "  \
1952           "of spins on the order of O(2^value)")                            \
1953           range(1, 30)                                                      \
1954                                                                             \
1955   product(uint, TrimNativeHeapInterval, 0,                                  \

1974   product(bool, UseSecondarySupersCache, true, DIAGNOSTIC,                  \
1975                 "Use secondary supers cache during subtype checks.")        \
1976                                                                             \
1977   product(bool, UseSecondarySupersTable, false, DIAGNOSTIC,                 \
1978                 "Use hash table to lookup secondary supers.")               \
1979                                                                             \
1980   product(bool, VerifySecondarySupers, false, DIAGNOSTIC,                   \
1981           "Check that linear and hashed secondary lookups return the same result.") \
1982                                                                             \
1983   product(bool, StressSecondarySupers, false, DIAGNOSTIC,                   \
1984           "Use a terrible hash function in order to generate many collisions.") \
1985                                                                             \
1986   product(bool, UseThreadsLockThrottleLock, true, DIAGNOSTIC,               \
1987           "Use an extra lock during Thread start and exit to alleviate"     \
1988           "contention on Threads_lock.")                                    \
1989                                                                             \
1990   develop(uint, BinarySearchThreshold, 16,                                  \
1991           "Minimal number of elements in a sorted collection to prefer"     \
1992           "binary search over simple linear search." )                      \
1993                                                                             \


1994 
1995 // end of RUNTIME_FLAGS
1996 
1997 DECLARE_FLAGS(LP64_RUNTIME_FLAGS)
1998 DECLARE_ARCH_FLAGS(ARCH_FLAGS)
1999 DECLARE_FLAGS(RUNTIME_FLAGS)
2000 DECLARE_FLAGS(RUNTIME_OS_FLAGS)
2001 
2002 #endif // SHARE_RUNTIME_GLOBALS_HPP

 789           "Verify all arguments to JNI calls")                              \
 790                                                                             \
 791   product(bool, UseFastJNIAccessors, true,                                  \
 792           "Use optimized versions of Get<Primitive>Field")                  \
 793                                                                             \
 794   product(intx, MaxJNILocalCapacity, 65536,                                 \
 795           "Maximum allowable local JNI handle capacity to "                 \
 796           "EnsureLocalCapacity() and PushLocalFrame(), "                    \
 797           "where <= 0 is unlimited, default: 65536")                        \
 798           range(min_intx, max_intx)                                         \
 799                                                                             \
 800   product(bool, EagerXrunInit, false,                                       \
 801           "Eagerly initialize -Xrun libraries; allows startup profiling, "  \
 802           "but not all -Xrun libraries may support the state of the VM "    \
 803           "at this time")                                                   \
 804                                                                             \
 805   develop(uintx, PreallocatedOutOfMemoryErrorCount, 4,                      \
 806           "Number of OutOfMemoryErrors preallocated with backtrace")        \
 807           range(0, 1024)                                                    \
 808                                                                             \
 809   product(bool, PrintFieldLayout, false, DIAGNOSTIC,                        \
 810           "Print field layout for each class")                              \
 811                                                                             \
 812   product(bool, PrintInlineLayout, false, DIAGNOSTIC,                       \
 813           "Print field layout for each value class or class containing "    \
 814           "inlined value fields")                                           \
 815                                                                             \
 816   product(bool, PrintFlatArrayLayout, false, DIAGNOSTIC,                    \
 817           "Print array layout for each flattened value array")              \
 818                                                                             \
 819   product(bool, UseArrayFlattening, true, DIAGNOSTIC,                       \
 820           "Allow the JVM to flatten arrays of concrete value objects "      \
 821           "when it determines it is possible and beneficial to do so")      \
 822                                                                             \
 823   product(bool, UseFieldFlattening, true, DIAGNOSTIC,                       \
 824           "Allow the JVM to inline the fields of concrete value objects "   \
 825           "when it determines it is possible and beneficial to do so")      \
 826                                                                             \
 827   product(bool, UseNullableAtomicValueFlattening, true, DIAGNOSTIC,         \
 828           "Allow the JVM to flatten some nullable atomic values")           \
 829                                                                             \
 830   product(bool, UseNullFreeNonAtomicValueFlattening, true, EXPERIMENTAL,    \
 831           "Allow the JVM to flatten some null-free non-atomic values")      \
 832                                                                             \
 833   product(bool, UseNullFreeAtomicValueFlattening, true, EXPERIMENTAL,       \
 834           "Allow the JVM to flatten some null-free atomic values")          \
 835                                                                             \
 836   product(bool, UseNullableNonAtomicValueFlattening, true, DIAGNOSTIC,      \
 837           "Allow the JVM to flatten some strict final non-static fields")   \
 838                                                                             \
 839   product(intx, FlatArrayElementMaxOops, 4, DIAGNOSTIC,                     \
 840           "Max number of embedded object references in a value container "  \
 841           "before no flattening attempts are made, <0 indicates no limit")  \
 842                                                                             \
 843   product(uint, FlatteningBudget, 1024, EXPERIMENTAL,                       \
 844           "Maximum size (in bytes) dedicated to flat fields in an instance")\
 845           range(0, 1024 * 1024)                                             \
 846   develop(ccstrlist, PrintInlineKlassFields, "",                            \
 847           "Print fields collected by InlineKlass::collect_fields")          \
 848                                                                             \
 849   /* Need to limit the extent of the padding to reasonable size.          */\
 850   /* 8K is well beyond the reasonable HW cache line size, even with       */\
 851   /* aggressive prefetching, while still leaving the room for segregating */\
 852   /* among the distinct pages.                                            */\
 853   product(int, ContendedPaddingWidth, 128,                                  \
 854           "How many bytes to pad the fields/classes marked @Contended with")\
 855           range(0, 8192)                                                    \
 856           constraint(ContendedPaddingWidthConstraintFunc,AfterErgo)         \
 857                                                                             \
 858   product(bool, EnableContended, true,                                      \
 859           "Enable @Contended annotation support")                           \
 860                                                                             \
 861   product(bool, RestrictContended, true,                                    \
 862           "Restrict @Contended to trusted classes")                         \
 863                                                                             \
 864   product(int, DiagnoseSyncOnValueBasedClasses, 0, DIAGNOSTIC,              \
 865              "Detect and take action upon identifying synchronization on "  \
 866              "value based classes. Modes: "                                 \
 867              "0: off; "                                                     \
 868              "1: exit with fatal error; "                                   \

1782           "Create JMX Management Server")                                   \
1783                                                                             \
1784   product(bool, DisableAttachMechanism, false,                              \
1785           "Disable mechanism that allows tools to attach to this VM")       \
1786                                                                             \
1787   product(bool, StartAttachListener, false,                                 \
1788           "Always start Attach Listener at VM startup")                     \
1789                                                                             \
1790   product(bool, EnableDynamicAgentLoading, true,                            \
1791           "Allow tools to load agents with the attach mechanism")           \
1792                                                                             \
1793   product(bool, PrintConcurrentLocks, false, MANAGEABLE,                    \
1794           "Print java.util.concurrent locks in thread dump")                \
1795                                                                             \
1796   product(bool, PrintMethodHandleStubs, false, DIAGNOSTIC,                  \
1797           "Print generated stub code for method handles")                   \
1798                                                                             \
1799   product(bool, VerifyMethodHandles, trueInDebug, DIAGNOSTIC,               \
1800           "perform extra checks when constructing method handles")          \
1801                                                                             \
1802   product(bool, IgnoreAssertUnsetFields, false, DIAGNOSTIC,                           \
1803           "Ignore assert_unset_fields")                                     \
1804                                                                             \
1805   product(bool, ShowHiddenFrames, false, DIAGNOSTIC,                        \
1806           "show method handle implementation frames (usually hidden)")      \
1807                                                                             \
1808   product(bool, ShowCarrierFrames, false, DIAGNOSTIC,                       \
1809           "show virtual threads' carrier frames in exceptions")             \
1810                                                                             \
1811   product(bool, TrustFinalNonStaticFields, false, EXPERIMENTAL,             \
1812           "trust final non-static declarations for constant folding")       \
1813                                                                             \
1814   product(bool, FoldStableValues, true, DIAGNOSTIC,                         \
1815           "Optimize loads from stable fields (marked w/ @Stable)")          \
1816                                                                             \
1817   product(int, UseBootstrapCallInfo, 1, DIAGNOSTIC,                         \
1818           "0: when resolving InDy or ConDy, force all BSM arguments to be " \
1819           "resolved before the bootstrap method is called; 1: when a BSM "  \
1820           "that may accept a BootstrapCallInfo is detected, use that API "  \
1821           "to pass BSM arguments, which allows the BSM to delay their "     \
1822           "resolution; 2+: stress test the BCI API by calling more BSMs "   \
1823           "via that API, instead of with the eagerly-resolved array.")      \
1824                                                                             \

1956           "On internal errors, include registers in error report.")         \
1957                                                                             \
1958   product(bool, UseSwitchProfiling, true, DIAGNOSTIC,                       \
1959           "leverage profiling for table/lookup switch")                     \
1960                                                                             \
1961   develop(bool, TraceMemoryWriteback, false,                                \
1962           "Trace memory writeback operations")                              \
1963                                                                             \
1964   JFR_ONLY(product(bool, FlightRecorder, false,                             \
1965           "(Deprecated) Enable Flight Recorder"))                           \
1966                                                                             \
1967   JFR_ONLY(product(ccstr, FlightRecorderOptions, nullptr,                   \
1968           "Flight Recorder options"))                                       \
1969                                                                             \
1970   JFR_ONLY(product(ccstr, StartFlightRecording, nullptr,                    \
1971           "Start flight recording with options"))                           \
1972                                                                             \
1973   product(bool, UseFastUnorderedTimeStamps, false, EXPERIMENTAL,            \
1974           "Use platform unstable time where supported for timestamps only") \
1975                                                                             \
1976   product_pd(bool, InlineTypePassFieldsAsArgs, DIAGNOSTIC,                  \
1977           "Pass each inline type field as an argument at calls")            \
1978                                                                             \
1979   product_pd(bool, InlineTypeReturnedAsFields, DIAGNOSTIC,                  \
1980           "Return fields instead of an inline type reference")              \
1981                                                                             \
1982   develop(bool, StressCallingConvention, false,                             \
1983           "Stress the scalarized calling convention.")                      \
1984                                                                             \
1985   develop(bool, PreloadClasses, true,                                       \
1986           "Preloading all classes from the LoadableDescriptors attribute")  \
1987                                                                             \
1988   product(ccstrlist, ForceNonTearable, "", DIAGNOSTIC,                      \
1989           "List of inline classes which are forced to be atomic "           \
1990           "(whitespace and commas separate names, "                         \
1991           "and leading and trailing stars '*' are wildcards)")              \
1992                                                                             \
1993   product(bool, DeoptimizeNMethodBarriersALot, false, DIAGNOSTIC,           \
1994                 "Make nmethod barriers deoptimise a lot.")                  \
1995                                                                             \
1996   develop(bool, VerifyCrossModifyFence,                                     \
1997           false AARCH64_ONLY(DEBUG_ONLY(||true)),                           \
1998              "Mark all threads after a safepoint, and clear on a modify "   \
1999              "fence. Add cleanliness checks.")                              \
2000                                                                             \
2001   product(bool, UseObjectMonitorTable, true, DIAGNOSTIC,                    \
2002           "Use a table to record inflated monitors rather than the first "  \
2003           "word of the object.")                                            \
2004                                                                             \
2005   product(int, FastLockingSpins, 8, DIAGNOSTIC,                             \
2006           "Specifies the number of times fast locking will attempt to "     \
2007           "CAS the markWord before inflating. Between each CAS it will "    \
2008           "spin for exponentially more time, resulting in a total number "  \
2009           "of spins on the order of O(2^value)")                            \
2010           range(1, 30)                                                      \
2011                                                                             \
2012   product(uint, TrimNativeHeapInterval, 0,                                  \

2031   product(bool, UseSecondarySupersCache, true, DIAGNOSTIC,                  \
2032                 "Use secondary supers cache during subtype checks.")        \
2033                                                                             \
2034   product(bool, UseSecondarySupersTable, false, DIAGNOSTIC,                 \
2035                 "Use hash table to lookup secondary supers.")               \
2036                                                                             \
2037   product(bool, VerifySecondarySupers, false, DIAGNOSTIC,                   \
2038           "Check that linear and hashed secondary lookups return the same result.") \
2039                                                                             \
2040   product(bool, StressSecondarySupers, false, DIAGNOSTIC,                   \
2041           "Use a terrible hash function in order to generate many collisions.") \
2042                                                                             \
2043   product(bool, UseThreadsLockThrottleLock, true, DIAGNOSTIC,               \
2044           "Use an extra lock during Thread start and exit to alleviate"     \
2045           "contention on Threads_lock.")                                    \
2046                                                                             \
2047   develop(uint, BinarySearchThreshold, 16,                                  \
2048           "Minimal number of elements in a sorted collection to prefer"     \
2049           "binary search over simple linear search." )                      \
2050                                                                             \
2051   product(bool, UseAcmpFastPath, true, DIAGNOSTIC,                          \
2052           "Use fast path for acmp.")                                        \
2053 
2054 // end of RUNTIME_FLAGS
2055 
2056 DECLARE_FLAGS(LP64_RUNTIME_FLAGS)
2057 DECLARE_ARCH_FLAGS(ARCH_FLAGS)
2058 DECLARE_FLAGS(RUNTIME_FLAGS)
2059 DECLARE_FLAGS(RUNTIME_OS_FLAGS)
2060 
2061 #endif // SHARE_RUNTIME_GLOBALS_HPP
< prev index next >