This page describes the command line for the experimental Java compiler, the Java launcher and HotSpot JVM for the support of L-World Value Types in the Valhalla project.

L-World Value Types flags:

 
Flag
Description
hotspot

REQUIRED-XX:EnableValhallaBoolean value, default value is `false`
If true enable support for L-World value types.

-XX:ValueArrayFlattenBoolean value, default value is `true`
Flatten arrays of values, if possible

-XX:ValueArrayElemMaxFlatSizeInteger value, default is -1
Max size for flattening an array of values, < 0 means no limit

-XX:ValueArrayElemMaxFlatOopsInteger value, default is 4
Max number of embedded object references in value type to flatten in an array, < 0 means no limit 

-XX:BigValueTypeThreshold

size_t value in bytes, default is 4 * BytesPerLong

Max value type size for interpreter buffering of local variable table entries


-XX:ValueArrayAtomicAccessBoolean value, default value is `false`
Enable atomic access to values in an array, by treating value types as references.

-XX:+PrintEliminateAllocationsNon-product builds: Print out when allocations are eliminated

-XX:+PrintEscapeAnalysisNon-product builds: Print results of escape analysis (e.g. if you believe boxing was not eliminated)
java

javac


-XDallowGenericsOverValuesAllow generic parameters/bounds/witnesses. Default false

-XDallowFlattenabilityModifiersAllow source level field flattenability modifiers __Flattenable, _NotFlattened

-XDallowValueBasedClassesLeniency mode for value-based-class migration

-XDallowEmptyValuesallow value classes with no instance fields (hotspot will currently disallow)