[foreign-memaccess+abi] RFR: 8292034: Improve javadoc after memory segment/memory address unification

Maurizio Cimadamore mcimadamore at openjdk.org
Wed Sep 21 10:53:32 UTC 2022


This is a rather big patch which overhauls the javadoc of the `MemorySegment` class.
A big thanks to Alex Buckley, who helped review the API javadoc and contributed many of the changes you see here.

The main things touched in this PR are:

* the section on unsafe segments is gone from the package-level javadoc. In its place, there's a new section on zero-length memory segments in the `MemorySegment` javadoc
* the class javadoc for `MemorySegment` has been overhauled greatly. It now focusses on two kinds of segments (native segments, and heap segments) and define how address, size, alignment of both is handled by the API.
* we introduce a distinction between memory segment and "the region of memory" which backs the segment, which helps spelling out a lot of these properties in a cleaner way
* perhaps the biggest change in the javadoc is the section on memory segment alignment, which now is much more clearly defined, and provides lots of examples (as that's a complex topic).
* some of the javadoc, in both this class and other classes have been tweaked to reflect the new terminology (for instance, references to the term `base address` are gone)

Other javadoc changes might follow, at some point later. The `Linker` class might need some attention, as we don't really spell out how zero-length segments interacts with downcalls and upcalls.
But, given the size of the changes, I'd rather deal with that separately.

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

Commit messages:
 - Merge branch 'foreign-memaccess+abi' into memory_segment_javadoc_fixes
 - Initial push
 - More alignment changes
 - More fixes
 - More alignment javadoc changes
 - More tweaks
 - Fix slice section, and access operations javadoc
 - Merge branch 'foreign-memaccess+abi' into ffm_segment_unification+javadoc
 - Update javadoc
 - Merge branch 'foreign-memaccess+abi' into ffm_segment_unification+javadoc
 - ... and 35 more: https://git.openjdk.org/panama-foreign/compare/45531333...5586bbfe

Changes: https://git.openjdk.org/panama-foreign/pull/730/files
 Webrev: https://webrevs.openjdk.org/?repo=panama-foreign&pr=730&range=00
  Issue: https://bugs.openjdk.org/browse/JDK-8292034
  Stats: 630 lines in 10 files changed: 209 ins; 83 del; 338 mod
  Patch: https://git.openjdk.org/panama-foreign/pull/730.diff
  Fetch: git fetch https://git.openjdk.org/panama-foreign pull/730/head:pull/730

PR: https://git.openjdk.org/panama-foreign/pull/730


More information about the panama-dev mailing list