RFR: 8329997: Add provisions for checking memory segment alignment constraints [v3]

Per Minborg pminborg at openjdk.org
Mon Apr 15 14:21:23 UTC 2024


> This PR proposes to add a new method `MemorySegment::maxByteAlignment` that returns the maximum byte alignment of a segment (both heap and native segments).
> 
> Clients can then use this method to determine if a segment is properly aligned for any given layout (e.g. following a `MemorySegment::reinterpret` operation).

Per Minborg has updated the pull request with a new target base due to a merge or a rebase. The incremental webrev excludes the unrelated changes brought in by the merge/rebase. The pull request contains ten additional commits since the last revision:

 - Update after comments
 - Merge branch 'master' into ms-reinterpret2
 - Update src/java.base/share/classes/jdk/internal/foreign/HeapMemorySegmentImpl.java
   
   Co-authored-by: Jorn Vernee <JornVernee at users.noreply.github.com>
 - Update src/java.base/share/classes/jdk/internal/foreign/NativeMemorySegmentImpl.java
   
   Co-authored-by: Jorn Vernee <JornVernee at users.noreply.github.com>
 - Update src/java.base/share/classes/java/lang/foreign/MemorySegment.java
   
   Co-authored-by: Maurizio Cimadamore <54672762+mcimadamore at users.noreply.github.com>
 - Fix imports and copyright
 - Update maxByteAlignment docs
 - Improve doc and tests
 - Add a MS::maxByteAlignment method

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

Changes:
  - all: https://git.openjdk.org/jdk/pull/18779/files
  - new: https://git.openjdk.org/jdk/pull/18779/files/89bb916b..7b45ad5c

Webrevs:
 - full: https://webrevs.openjdk.org/?repo=jdk&pr=18779&range=02
 - incr: https://webrevs.openjdk.org/?repo=jdk&pr=18779&range=01-02

  Stats: 4996 lines in 212 files changed: 1382 ins; 1604 del; 2010 mod
  Patch: https://git.openjdk.org/jdk/pull/18779.diff
  Fetch: git fetch https://git.openjdk.org/jdk.git pull/18779/head:pull/18779

PR: https://git.openjdk.org/jdk/pull/18779


More information about the core-libs-dev mailing list