• Home
    • View
    • Login
    This page
    • Normal
    • Export PDF
    • Page Information

    Loading...
  1. Dashboard
  2. Undefined Space
  3. Valhalla
  4. L-World Value Types

Page History

Versions Compared

Old Version 9

changes.mady.by.user Karen Kinnear

Saved on Jul 26, 2018

compared with

New Version 10

changes.mady.by.user Karen Kinnear

Saved on Jul 26, 2018

  • Previous Change: Difference between versions 8 and 9
  • Next Change: Difference between versions 10 and 11
  • View Page History

Key

  • This line was added.
  • This line was removed.
  • Formatting was changed.

...

  • 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
    • 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
  • 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

Terms of Use
• License: GPLv2
• Privacy • Trademarks • Contact Us

Powered by a free Atlassian Confluence Open Source Project License granted to https://www.atlassian.com/software/views/opensource-community-additional-license-offer. Evaluate Confluence today.

  • Kolekti ThemeBuilder Powered by Atlassian Confluence 8.5.21
  • Kolekti ThemeBuilder printed.by.atlassian.confluence
  • Report a bug
  • Atlassian News
Atlassian
Kolekti ThemeBuilder EngineAtlassian Confluence
{"serverDuration": 501, "requestCorrelationId": "6394c34562db6794"}