@@ -796,13 +796,47 @@ \ develop(uintx, PreallocatedOutOfMemoryErrorCount, 4, \ "Number of OutOfMemoryErrors preallocated with backtrace") \ range(0, 1024) \ \ - develop(bool, PrintFieldLayout, false, \ + product(bool, PrintFieldLayout, false, DIAGNOSTIC, \ "Print field layout for each class") \ \ + product(bool, PrintInlineLayout, false, DIAGNOSTIC, \ + "Print field layout for each value class or class containing " \ + "inlined value fields") \ + \ + product(bool, PrintFlatArrayLayout, false, DIAGNOSTIC, \ + "Print array layout for each flattened value array") \ + \ + product(bool, UseArrayFlattening, true, DIAGNOSTIC, \ + "Allow the JVM to flatten arrays of concrete value objects " \ + "when it determines it is possible and beneficial to do so") \ + \ + product(bool, UseFieldFlattening, true, DIAGNOSTIC, \ + "Allow the JVM to inline the fields of concrete value objects " \ + "when it determines it is possible and beneficial to do so") \ + \ + product(bool, UseNullableAtomicValueFlattening, true, DIAGNOSTIC, \ + "Allow the JVM to flatten some nullable atomic values") \ + \ + product(bool, UseNullFreeNonAtomicValueFlattening, true, EXPERIMENTAL, \ + "Allow the JVM to flatten some null-free non-atomic values") \ + \ + product(bool, UseNullFreeAtomicValueFlattening, true, EXPERIMENTAL, \ + "Allow the JVM to flatten some null-free atomic values") \ + \ + product(bool, UseNullableNonAtomicValueFlattening, true, DIAGNOSTIC, \ + "Allow the JVM to flatten some strict final non-static fields") \ + \ + product(intx, FlatArrayElementMaxOops, 4, DIAGNOSTIC, \ + "Max number of embedded object references in a value container " \ + "before no flattening attempts are made, <0 indicates no limit") \ + \ + develop(ccstrlist, PrintInlineKlassFields, "", \ + "Print fields collected by InlineKlass::collect_fields") \ + \ /* Need to limit the extent of the padding to reasonable size. */\ /* 8K is well beyond the reasonable HW cache line size, even with */\ /* aggressive prefetching, while still leaving the room for segregating */\ /* among the distinct pages. */\ product(int, ContendedPaddingWidth, 128, \
@@ -1745,10 +1779,13 @@ "Print generated stub code for method handles") \ \ product(bool, VerifyMethodHandles, trueInDebug, DIAGNOSTIC, \ "perform extra checks when constructing method handles") \ \ + product(bool, IgnoreAssertUnsetFields, false, DIAGNOSTIC, \ + "Ignore assert_unset_fields") \ + \ product(bool, ShowHiddenFrames, false, DIAGNOSTIC, \ "show method handle implementation frames (usually hidden)") \ \ product(bool, ShowCarrierFrames, false, DIAGNOSTIC, \ "show virtual threads' carrier frames in exceptions") \
@@ -1916,10 +1953,27 @@ "Start flight recording with options")) \ \ product(bool, UseFastUnorderedTimeStamps, false, EXPERIMENTAL, \ "Use platform unstable time where supported for timestamps only") \ \ + product_pd(bool, InlineTypePassFieldsAsArgs, DIAGNOSTIC, \ + "Pass each inline type field as an argument at calls") \ + \ + product_pd(bool, InlineTypeReturnedAsFields, DIAGNOSTIC, \ + "Return fields instead of an inline type reference") \ + \ + develop(bool, StressCallingConvention, false, \ + "Stress the scalarized calling convention.") \ + \ + develop(bool, PreloadClasses, true, \ + "Preloading all classes from the LoadableDescriptors attribute") \ + \ + product(ccstrlist, ForceNonTearable, "", DIAGNOSTIC, \ + "List of inline classes which are forced to be atomic " \ + "(whitespace and commas separate names, " \ + "and leading and trailing stars '*' are wildcards)") \ + \ product(bool, DeoptimizeNMethodBarriersALot, false, DIAGNOSTIC, \ "Make nmethod barriers deoptimise a lot.") \ \ develop(bool, VerifyCrossModifyFence, \ false AARCH64_ONLY(DEBUG_ONLY(||true)), \
@@ -1973,11 +2027,10 @@ "contention on Threads_lock.") \ \ develop(uint, BinarySearchThreshold, 16, \ "Minimal number of elements in a sorted collection to prefer" \ "binary search over simple linear search." ) \ - \ // end of RUNTIME_FLAGS DECLARE_FLAGS(LP64_RUNTIME_FLAGS) DECLARE_ARCH_FLAGS(ARCH_FLAGS)