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

Reply via email to