For JEP 12 (https://openjdk.org/jeps/12) the concept of a preview API may require:
""a new and cohesive set of modules, packages, classes, interfaces, methods, constructors, and fields in the java.* or javax.* namespace""
Until now it was not possible to deliver alternate versions of existing classes packaged in the jimage modules files. However for Valhalla (and in future, other preview features) the is a need to supply such classes (e.g. alternate value class bytecode for Valhalla).
Valhalla was previously using module patching to achieve this, but now uses a new "preview mode" mechanism which can now be integrated back into mainline JDK, without any Valhalla specific details.
The changes for implementing this can be split into 4 parts:
1. Implement jimage support (Java & C++)
2. Implement exploded image support (Java & C++)
3. JRT file-system support (Java)
4. Plumbing of flags to control "preview mode" in the above (Java & C++)
Valhalla specific changes, such as the compilation and inclusion of value classes will be left until the eventual Valhalla merge.
""a new and cohesive set of modules, packages, classes, interfaces, methods, constructors, and fields in the java.* or javax.* namespace""
Until now it was not possible to deliver alternate versions of existing classes packaged in the jimage modules files. However for Valhalla (and in future, other preview features) the is a need to supply such classes (e.g. alternate value class bytecode for Valhalla).
Valhalla was previously using module patching to achieve this, but now uses a new "preview mode" mechanism which can now be integrated back into mainline JDK, without any Valhalla specific details.
The changes for implementing this can be split into 4 parts:
1. Implement jimage support (Java & C++)
2. Implement exploded image support (Java & C++)
3. JRT file-system support (Java)
4. Plumbing of flags to control "preview mode" in the above (Java & C++)
Valhalla specific changes, such as the compilation and inclusion of value classes will be left until the eventual Valhalla merge.
- relates to
-
JDK-8352750 [lworld] Use jimage for preview enabled value classes
-
- In Progress
-