Conference50min
Why it takes 3000 commits to bring Valhalla's value objects to the JDK
JEP 401 Value Objects arrives in OpenJDK preview, enabling a new Java type model with minimal code changes. The talk explains what value objects are, JVM benefits, Valhalla history, implementation details, and the path toward bridging objects and primitives, including future support like List.
talk.summaryAiDisclaimer
David SimmsJava Platrform Group - Oracle
talkDetail.whenAndWhere
Friday, October 9, 09:30-10:20
TBA 4
talks.roomOccupancytalks.noOccupancyInfo
After years of rounding off a square peg to fit into Java's mainline, JEP 401's value objects are coming to OpenJDK in its first preview. It is a single keyword change, you don't even need to recompile your libraries, yet there's so much happening. What you can learn here:
There will be some project history, concerning peak Valhalla prototype performance, and how all the dangerous bits were smoothed off to make it usable. There will be some JVM engineering details on implementation and a peek at some wild and crazy ideas for the future, hoping to be a few thesis papers in the coming months. The audience should come away with an understanding that, whilst we don't quite yet have `List`, there is a path to get there, which you will see with JEP 401.
In the meantime, JEP 401 Value Objects, holds plenty of subtle language features and interactions with the JVM to help your code be better from a safety and clarity point of view and also some performance wins along the way, with the promise of more to come...
- What value objects are, why and how you want to use them
- What value objects do for the Java Virtual Machine, and therefore your code
- Where Is OpenJDK going with this: "healing the rift" between objects and primitives
There will be some project history, concerning peak Valhalla prototype performance, and how all the dangerous bits were smoothed off to make it usable. There will be some JVM engineering details on implementation and a peek at some wild and crazy ideas for the future, hoping to be a few thesis papers in the coming months. The audience should come away with an understanding that, whilst we don't quite yet have `List`, there is a path to get there, which you will see with JEP 401.
In the meantime, JEP 401 Value Objects, holds plenty of subtle language features and interactions with the JVM to help your code be better from a safety and clarity point of view and also some performance wins along the way, with the promise of more to come...
David Simms
Hands on Java Virtual Machine engineering for over 25 years, first with the JRockit VM and then Hotspot JVM. Involved in Project Valhalla over 10 years now, I might have filed an almost 3000 commit PR to integrate the first really big step in getting Valhalla into OpenJDK. On the side I manage Oracle's Java Platform Group engineering site in Stockholm Sweden.
"Kiwede" - New Zealander living in Sweden
"Kiwede" - New Zealander living in Sweden