~/talk

Value Objects in Valhalla

Talkat JVM Language Summit 2023 · 2023-08-07..08-09· [java]
links:none on file
slides:none on file

Project demonstrates concrete VM and language changes to make objects value objects (no identity, all-final fields), including new class flags, a V_NEW constructor model and bytecodes like V_NEW/ACONST_INIT/withfield, plus null-restricted types to enable flattened heap storage. Early-access builds run benchmarks: an image-blur workload removes GC churn, and a 1M-element NBA event array drops from ~123ms to ~90ms (20–30%); randomizing object layout turns that advantage into a 5–6x slowdown. Implementation exists in OpenJDK Valhalla prototypes and needs further heap-flattening design.

AI-written summary · about

  1. 0:00Intro
  2. 1:07Valhalla Project Links
  3. 1:59Valhalla Project Goals
  4. 3:23Primitives vs. Objects
  5. 6:18Single Storage Location vs. Freely Copyable
  6. 13:28Value & Identity Objects
  7. 14:47Value & Identity Classes
  8. 16:54Value Class Example
  9. 19:34Implications
  10. 29:58Implicit Constructors
  11. 32:59Concurrent Reads & Writes
  12. 36:13Unlocking Heap Flattening
  13. 41:14Effects of Flattened Heap Storage
  14. 43:03Class File Support for Value Classes
  15. 45:43Class File Optimization Hints
  16. 46:37Class File Support for Flattened Heap Storage
~/search
type to search 6,249 conferences, 138,987 speakers and 185,172 talks
~/help
cmdctrl k
search every conference, speaker and series
/
focus the filter search
h
home
c
conferences
s
speakers
e
series
t
light / dark — the status bar button does the same
?
this help
esc
close this, then clear every filter — or just the search, while you are typing in it

Ignored while you are typing. Pages without a filter rail have no search to focus.