< prev index next >

src/hotspot/share/runtime/globals.hpp

Print this page

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





































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

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



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

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

















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

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


1989 
1990 // end of RUNTIME_FLAGS
1991 
1992 DECLARE_FLAGS(LP64_RUNTIME_FLAGS)
1993 DECLARE_ARCH_FLAGS(ARCH_FLAGS)
1994 DECLARE_FLAGS(RUNTIME_FLAGS)
1995 DECLARE_FLAGS(RUNTIME_OS_FLAGS)
1996 
1997 #endif // SHARE_RUNTIME_GLOBALS_HPP

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

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

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

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