< prev index next >

src/hotspot/share/runtime/globals.hpp

Print this page

 797           "Use optimized versions of Get<Primitive>Field")                  \
 798                                                                             \
 799   product(intx, MaxJNILocalCapacity, 65536,                                 \
 800           "Maximum allowable local JNI handle capacity to "                 \
 801           "EnsureLocalCapacity() and PushLocalFrame(), "                    \
 802           "where <= 0 is unlimited, default: 65536")                        \
 803           range(min_intx, max_intx)                                         \
 804                                                                             \
 805   product(bool, EagerXrunInit, false,                                       \
 806           "Eagerly initialize -Xrun libraries; allows startup profiling, "  \
 807           "but not all -Xrun libraries may support the state of the VM "    \
 808           "at this time")                                                   \
 809                                                                             \
 810   develop(uintx, PreallocatedOutOfMemoryErrorCount, 4,                      \
 811           "Number of OutOfMemoryErrors preallocated with backtrace")        \
 812           range(0, 1024)                                                    \
 813                                                                             \
 814   product(bool, UseXMMForArrayCopy, false,                                  \
 815           "Use SSE2 MOVQ instruction for Arraycopy")                        \
 816                                                                             \
 817   develop(bool, PrintFieldLayout, false,                                    \
 818           "Print field layout for each class")                              \
 819                                                                             \






























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

1761           "Create JMX Management Server")                                   \
1762                                                                             \
1763   product(bool, DisableAttachMechanism, false,                              \
1764           "Disable mechanism that allows tools to attach to this VM")       \
1765                                                                             \
1766   product(bool, StartAttachListener, false,                                 \
1767           "Always start Attach Listener at VM startup")                     \
1768                                                                             \
1769   product(bool, EnableDynamicAgentLoading, true,                            \
1770           "Allow tools to load agents with the attach mechanism")           \
1771                                                                             \
1772   product(bool, PrintConcurrentLocks, false, MANAGEABLE,                    \
1773           "Print java.util.concurrent locks in thread dump")                \
1774                                                                             \
1775   product(bool, PrintMethodHandleStubs, false, DIAGNOSTIC,                  \
1776           "Print generated stub code for method handles")                   \
1777                                                                             \
1778   product(bool, VerifyMethodHandles, trueInDebug, DIAGNOSTIC,               \
1779           "perform extra checks when constructing method handles")          \
1780                                                                             \



1781   product(bool, ShowHiddenFrames, false, DIAGNOSTIC,                        \
1782           "show method handle implementation frames (usually hidden)")      \
1783                                                                             \
1784   product(bool, ShowCarrierFrames, false, DIAGNOSTIC,                       \
1785           "show virtual threads' carrier frames in exceptions")             \
1786                                                                             \
1787   product(bool, TrustFinalNonStaticFields, false, EXPERIMENTAL,             \
1788           "trust final non-static declarations for constant folding")       \
1789                                                                             \
1790   product(bool, FoldStableValues, true, DIAGNOSTIC,                         \
1791           "Optimize loads from stable fields (marked w/ @Stable)")          \
1792                                                                             \
1793   product(int, UseBootstrapCallInfo, 1, DIAGNOSTIC,                         \
1794           "0: when resolving InDy or ConDy, force all BSM arguments to be " \
1795           "resolved before the bootstrap method is called; 1: when a BSM "  \
1796           "that may accept a BootstrapCallInfo is detected, use that API "  \
1797           "to pass BSM arguments, which allows the BSM to delay their "     \
1798           "resolution; 2+: stress test the BCI API by calling more BSMs "   \
1799           "via that API, instead of with the eagerly-resolved array.")      \
1800                                                                             \

1932           "On internal errors, include registers in error report.")         \
1933                                                                             \
1934   product(bool, UseSwitchProfiling, true, DIAGNOSTIC,                       \
1935           "leverage profiling for table/lookup switch")                     \
1936                                                                             \
1937   develop(bool, TraceMemoryWriteback, false,                                \
1938           "Trace memory writeback operations")                              \
1939                                                                             \
1940   JFR_ONLY(product(bool, FlightRecorder, false,                             \
1941           "(Deprecated) Enable Flight Recorder"))                           \
1942                                                                             \
1943   JFR_ONLY(product(ccstr, FlightRecorderOptions, nullptr,                   \
1944           "Flight Recorder options"))                                       \
1945                                                                             \
1946   JFR_ONLY(product(ccstr, StartFlightRecording, nullptr,                    \
1947           "Start flight recording with options"))                           \
1948                                                                             \
1949   product(bool, UseFastUnorderedTimeStamps, false, EXPERIMENTAL,            \
1950           "Use platform unstable time where supported for timestamps only") \
1951                                                                             \

















1952   product(bool, DeoptimizeNMethodBarriersALot, false, DIAGNOSTIC,           \
1953                 "Make nmethod barriers deoptimise a lot.")                  \
1954                                                                             \
1955   develop(bool, VerifyCrossModifyFence,                                     \
1956           false AARCH64_ONLY(DEBUG_ONLY(||true)),                           \
1957              "Mark all threads after a safepoint, and clear on a modify "   \
1958              "fence. Add cleanliness checks.")                              \
1959                                                                             \
1960   product(bool, UseObjectMonitorTable, false, DIAGNOSTIC,                   \
1961           "Use a table to record inflated monitors rather than the first "  \
1962           "word of the object.")                                            \
1963                                                                             \
1964   product(int, FastLockingSpins, 13, DIAGNOSTIC,                            \
1965           "Specifies the number of times fast locking will attempt to "     \
1966           "CAS the markWord before inflating. Between each CAS it will "    \
1967           "spin for exponentially more time, resulting in a total number "  \
1968           "of spins on the order of O(2^value)")                            \
1969           range(1, 30)                                                      \
1970                                                                             \
1971   product(uint, TrimNativeHeapInterval, 0,                                  \

1989                                                                             \
1990   product(bool, UseSecondarySupersCache, true, DIAGNOSTIC,                  \
1991                 "Use secondary supers cache during subtype checks.")        \
1992                                                                             \
1993   product(bool, UseSecondarySupersTable, false, DIAGNOSTIC,                 \
1994                 "Use hash table to lookup secondary supers.")               \
1995                                                                             \
1996   product(bool, VerifySecondarySupers, false, DIAGNOSTIC,                   \
1997           "Check that linear and hashed secondary lookups return the same result.") \
1998                                                                             \
1999   product(bool, StressSecondarySupers, false, DIAGNOSTIC,                   \
2000           "Use a terrible hash function in order to generate many collisions.") \
2001                                                                             \
2002   product(bool, UseThreadsLockThrottleLock, true, DIAGNOSTIC,               \
2003           "Use an extra lock during Thread start and exit to alleviate"     \
2004           "contention on Threads_lock.")                                    \
2005                                                                             \
2006   develop(uint, BinarySearchThreshold, 16,                                  \
2007           "Minimal number of elements in a sorted collection to prefer"     \
2008           "binary search over simple linear search." )                      \
2009                                                                             \
2010 
2011 // end of RUNTIME_FLAGS
2012 
2013 DECLARE_FLAGS(LP64_RUNTIME_FLAGS)
2014 DECLARE_ARCH_FLAGS(ARCH_FLAGS)
2015 DECLARE_FLAGS(RUNTIME_FLAGS)
2016 DECLARE_FLAGS(RUNTIME_OS_FLAGS)
2017 
2018 #endif // SHARE_RUNTIME_GLOBALS_HPP

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

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

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

2039                                                                             \
2040   product(bool, UseSecondarySupersCache, true, DIAGNOSTIC,                  \
2041                 "Use secondary supers cache during subtype checks.")        \
2042                                                                             \
2043   product(bool, UseSecondarySupersTable, false, DIAGNOSTIC,                 \
2044                 "Use hash table to lookup secondary supers.")               \
2045                                                                             \
2046   product(bool, VerifySecondarySupers, false, DIAGNOSTIC,                   \
2047           "Check that linear and hashed secondary lookups return the same result.") \
2048                                                                             \
2049   product(bool, StressSecondarySupers, false, DIAGNOSTIC,                   \
2050           "Use a terrible hash function in order to generate many collisions.") \
2051                                                                             \
2052   product(bool, UseThreadsLockThrottleLock, true, DIAGNOSTIC,               \
2053           "Use an extra lock during Thread start and exit to alleviate"     \
2054           "contention on Threads_lock.")                                    \
2055                                                                             \
2056   develop(uint, BinarySearchThreshold, 16,                                  \
2057           "Minimal number of elements in a sorted collection to prefer"     \
2058           "binary search over simple linear search." )                      \

2059 
2060 // end of RUNTIME_FLAGS
2061 
2062 DECLARE_FLAGS(LP64_RUNTIME_FLAGS)
2063 DECLARE_ARCH_FLAGS(ARCH_FLAGS)
2064 DECLARE_FLAGS(RUNTIME_FLAGS)
2065 DECLARE_FLAGS(RUNTIME_OS_FLAGS)
2066 
2067 #endif // SHARE_RUNTIME_GLOBALS_HPP
< prev index next >