Article URL: https://github.com/openjdk/jdk/pull/31120 Comments URL: https://news.ycombinator.com/item?id=49119063 Points: 175 # Comments: 96

This pull request implements the first preview of JEP 401: Value Objects (Preview). This pull request also includes the implementation of JEP 539: Strict Field Initialization in the JVM (Preview). That work was implemented in the same code base because JEP 401 depends on strict field initialization. This is the "master pull request" for the initial preview of JEP 401. Comments and review for a change this large will not scale well in a single pull request. This pull request serves as the vehicle for sign-off and integration into jdk/master. Review comments should be directed to the appropriate "sub-review pull request" listed above. The "sub-review pull requests" contain the same full set of code changes as this "master pull request" to preserve the full implementation context; the language compiler, JVM, and standard library changes are intertwined. The separate pull requests exist only to subdivide the review and related discussion by area. valhalla/lworld is currently updated from jdk/master whenever a weekly jdk tag is created. At that time, code changes from valhalla/lworld will be propagated to this pull request and to all sub-review pull requests. Ultimately, review sign-off will be recorded on this "master pull request", and the "sub-review pull requests" will be closed without integration. This pull request has a large surface area and frequently conflicts with jdk/master. Refer to valhalla/lworld for the latest state of the project code, keeping in mind that it may lag several days behind jdk/master. Both repositories may be needed as references during review. Checkout this PR locally: $ git fetch https://git.openjdk.org/jdk.git pull/31120/head:pull/31120 $ git checkout pull/31120 Update a local copy of the PR: $ git checkout pull/31120 $ git pull https://git.openjdk.org/jdk.git pull/31120/head