[lworld] RFR: 8341757: Field layout computation allowing atomic and nullable flattening

Frederic Parain fparain at openjdk.org
Wed Oct 23 12:16:25 UTC 2024


Initial implementation of fields layouts in order to support heap flattening with JEP 401 model.
The patch includes the generation of two new flat fields layouts: atomic and nullable.
The patch also includes the support in the interpreter (through the access API) to access the new layouts while respecting the new semantic (on x86_64 and aarch64).
Some areas do not support the new layouts yet, like JITs, Unsafe and arrays.

There's no automatic tests yet, but considering the impact those new layouts will have on the JVM, the priority was to make this code available to all developers as soon as possible. Automatic tests will be added in a following CR.

Fred

-------------

Commit messages:
 - Fix paths on Windows
 - Merge remote-tracking branch 'upstream/lworld' into nullable_flat_2
 - Fixes from initial reviews
 - Add support for oops embedded in nullable flat fields
 - Implementation of new fields layouts with interpreter support

Changes: https://git.openjdk.org/valhalla/pull/1275/files
  Webrev: https://webrevs.openjdk.org/?repo=valhalla&pr=1275&range=00
  Issue: https://bugs.openjdk.org/browse/JDK-8341757
  Stats: 2011 lines in 72 files changed: 960 ins; 498 del; 553 mod
  Patch: https://git.openjdk.org/valhalla/pull/1275.diff
  Fetch: git fetch https://git.openjdk.org/valhalla.git pull/1275/head:pull/1275

PR: https://git.openjdk.org/valhalla/pull/1275


More information about the valhalla-dev mailing list