...
- platforms: x64 Linux, x64 Mac OS X, Windows
- no support for value class with no instance fields
- no support for atomic fields containing value types
- no support for @Contended value type fields
- static fields are not flattenable
- no AOT, CDS, ZGC, serviceability agent
- -Xint and C2 only, no C1, no tiered-compilation, no Graal
- unsafe field and array accessor APIs are not supported for value types
- VarHandles support value types
- however: they do not enforce immutability or non-nullability for value types
- note that immutable types can be copied, so updates may not be seen
- however: they do not enforce immutability or non-nullability for value types
- low-level unsafe APIs are UNSAFE and will not be changed to support value types
- risks: If a value type has been flattened in a container, unsafe does not know the layout
- getObject could return the first flattened element rather than the expected reference
- VarHandles support value types
- interpreter is not optimized, focus is on JIT optimization
- Please provide additional USE CASES for optimizations
- Working on additional test cases
Future Possibilities
...
- LW1 updates:
- fix bugs, add optimizations and support for additional minor features
- LWX:
- Addition of significant feature support
- Addition of language level syntax and semantics
- Eventually a preview with an openjdk release
- Expect specialized generics and support for primitives as value types will have their own early access cycles
How to Try L-World Value Types
...
Target Audience
- Power users - Java/JVM Language, Framework, Library authors/experts
- who are comfortable with early experimental software
- who recognize that everything in the experiment - the model, the classfile extensions, the byte codes is likely to change
- who want to contribute to early exploration of Value Types
- who will not build any products based on these prototypes
- Who are willing to provide feedback to the developers on a subset of Value Type features
- Who will provide use cases for the development team to experiment with optimizations
...
Overview
Content Tools
ThemeBuilder