
The vector API is designed to specific vector communications that reliably compile at runtime to optimum vector directions on supported CPU architectures, thus attaining efficiency superior to equal scalar computations. The vector API beforehand was incubated in JDK 16 by way of JDK 23. It might be re-incubated in JDK 24 with no API modifications and no substantial implementations relative to JDK 23. Targets of the proposal embody clearly and concisely expressing a variety of vector computations in an API that’s platform-agnostic, that gives dependable runtime compilation and efficiency on x64 and AArch54 architectures, that degrades gracefully and nonetheless capabilities when a vector computation can’t be expressed at runtime, and that aligns with Undertaking Valhalla, leveraging enhancements to the Java object mannequin.
The class-file API, beforehand previewed in JDK 22 and JDK 23, could be finalized in JDK 24, with minor modifications. This API supplies an ordinary API for parsing, producing, and remodeling Java class information. It goals to offer an API for processing class information that tracks the category file format outlined by the Java Digital Machine specification. A second purpose is to allow JDK parts emigrate to the usual API, and finally take away the JDK’s inside copy of the third-party ASM library. Modifications for the reason that second preview embody a renaming of enum values, removing of some fields, the addition of strategies and methodology overloads, strategies renamed, and removing of interfaces and strategies deemed pointless.
Late barrier enlargement for the G1 rubbish collector is meant to simplify the implementation of G1’s limitations. The G1 rubbish collector’s limitations file details about utility reminiscence accesses, by shifting their enlargement from early within the C2 compilation pipeline to later. Targets embody decreasing the execution time of C2 compilation when utilizing the G1 collector, making G1 limitations understandable to HotSpot builders who lack a deep understanding of C2, and guaranteeing that C2 preserves invariants concerning the relative ordering of reminiscence accesses, safepoints, and limitations. A fourth characteristic is preserving the standard of C2-generated JIT (just-in-time)-compiled code, by way of pace and measurement.
