Valhalla
The goal of this Project is to provide a venue to explore and incubate advanced Java VM and Language feature candidates such as:
- Value Types
- Generic Specialization
- Enhanced volatiles
- And possibly other related topics, such as reified generics.
This Project is sponsored by the HotSpot Group.
Additional Resources
The following provide a sketch of possible features and implementation approaches.
- State of the Specialization (July 2014)
- JVM Language Summit: Evolving the JVM (video, July 2014)
- ClassDynamic (June 2014)
- State of the Values (April 2014)
The following is a list of community presentations
- Primitives in Generics - Presentation from Bulgarian JUG (29 Jan 2015)
- Results of Bulgarian JUG Hackathon (29 Jan 2015)
Community
- Members
- Mailing list
- Bloggers
How you can help!
If you're new to OpenJDK then it is strongly advised that you join the Adoption Group and learn about OpenJDK before diving into advanced Valhalla topics.
Pre-requisites
Most theoretical ideas have been well explored by the core Members! The greatest help can therefore be given by those who:
- Have read the Additional Resources
- Gone through the valhalla-dev Archives
- Provide concrete prototypes of their ideas and/or
- Try out concrete prototypes and then give input into discussions of prototype semantics.
Levels of expertise / suggested participation:
- Full Time JVM internals expert / implementer
Please join the mailing list and produce concrete prototypes, try out the nightly builds and give feedback on existing prototypes. - Java/JVM Language, Framework, Library
authors/experts
Please join the mailing list, try out the nightly builds and give feedback on existing prototypes. - Day to Day Java Developers (or developers using other JVM
languages)
Please join the mailing list and join the Adoption Group to participate in hack days on stable prototypes.
Source Code and Building Valhalla
Valhalla is built the same as most OpenJDK forests, i.e. At the command line execute:hg clone http://hg.openjdk.java.net/valhalla/valhalla valhalla cd valhalla chmod u+x get_source.sh ./get_source.sh bash configure make imagesOnce you've done this once you only need to repeat the last three commands when you want to update to the latest version.
There is a general OpenJDK build guide if you need help.