This is a "*sub-review pull request*" for the first [preview](https://openjdk.org/jeps/12) of [JEP 401: Value Classes and Objects](https://openjdk.org/jeps/401), specifically [JDK-8317279](https://bugs.openjdk.org/browse/JDK-8317279): Standard library implementation of value classes and objects
> [!NOTE] > This pull request and the other sub-review pull requests listed below are > based on the "*master pull request*" > (https://github.com/openjdk/jdk/pull/31120). It contains the same full set of > code changes as the "*master pull request*" to preserve the full > implementation context; the language compiler, JVM, and standard library > changes are intertwined. This separate pull requests exist only to subdivide > the review and related discussion by area. Other areas for review: - [JDK-8317277](https://bugs.openjdk.org/browse/JDK-8317277): Java language implementation of value classes and objects - https://github.com/openjdk/jdk/pull/31121 - [JDK-8317278](https://bugs.openjdk.org/browse/JDK-8317278): JVM implementation of value classes and objects - https://github.com/openjdk/jdk/pull/31122 Code changes resulting from the review process should be made in [`valhalla/lworld`](https://github.com/openjdk/valhalla/). `valhalla/lworld` is currently updated from `jdk/master` whenever a weekly [`jdk` tag](https://github.com/openjdk/jdk/tags) is created. At that time, code changes from `valhalla/lworld` will be propagated to the master pull request and to all sub-review pull requests, including this one. Ultimately, review sign-off will be recorded on the "*master pull request*", and this pull request will be closed without integration. This pull request has a large code surface area and often conflicts with `jdk/master` on a daily basis. Refer to [`valhalla/lworld`](https://github.com/openjdk/valhalla/) 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. --------- - [x] I confirm that I make this contribution in accordance with the [OpenJDK Interim AI Policy](https://openjdk.org/legal/ai). ------------- Commit messages: - Merge lworld - 8384759: [lworld] fix recently introduced typo in ObjectFree event spec - 8383997: [lworld] Buffering via SharedRuntime::store_inline_type_fields_to_buf is slow - Merge - 8384525: [lworld] compiler/valhalla/inlinetypes/CorrectlyRestoreRfp.java timed out - 8384127: [lworld] C2 compilation failed with "graph should be schedulable" assert - 8384630: [lworld] Build failure after JDK-8383164 - 8383559: [lworld] Autobox cache removal causes performance regression with Renaissance benchmarks - 8384202: [lworld] C2: assert(offset == field->offset_in_bytes()) failed: offset mismatch - 8383164: [lworld] javadoc updates for value class serialization - ... and 2695 more: https://git.openjdk.org/jdk/compare/322dedba...15e9bb6f Changes: https://git.openjdk.org/jdk/pull/31123/files Webrev: https://webrevs.openjdk.org/?repo=jdk&pr=31123&range=00 Issue: https://bugs.openjdk.org/browse/JDK-8317279 Stats: 202091 lines in 1910 files changed: 189649 ins; 3574 del; 8868 mod Patch: https://git.openjdk.org/jdk/pull/31123.diff Fetch: git fetch https://git.openjdk.org/jdk.git pull/31123/head:pull/31123 PR: https://git.openjdk.org/jdk/pull/31123
