[foreign-memaccess] RFR: 8248487: Add static helpers to access segments

Maurizio Cimadamore mcimadamore at openjdk.java.net
Mon Jun 29 20:04:31 UTC 2020


This patch addresses some usability issues in the foreign memory API. First, it adds several static accessors for all
carrier types in MemoryLayouts (I'm thorn whether to add this in MemoryLayouts or MemoryHandles, suggestions welcome).

These accessors provide an access API that is similar to unsafe - all accessors expect a base address plus a byte
offset. In most cases the accessors can be used and direct VH usage can be dropped, which might make approaching this
API a bit easier.

Secondly, I've added a bunch of helpers to map a segment into _any_ array (as opposed to just `byte[]`). This makes the
API more symmetric, given that, after all we _were_ able to create a segment from _any_ array (not just `byte[]`).

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

Commit messages:
 - Remove whitespaces
 - Add simple benchmark for static helpers
 - Remove whitespace
 - Initial push

Changes: https://git.openjdk.java.net/panama-foreign/pull/221/files
 Webrev: https://webrevs.openjdk.java.net/panama-foreign/221/webrev.00
  Issue: https://bugs.openjdk.java.net/browse/JDK-8248487
  Stats: 950 lines in 9 files changed: 886 ins; 9 del; 55 mod
  Patch: https://git.openjdk.java.net/panama-foreign/pull/221.diff
  Fetch: git fetch https://git.openjdk.java.net/panama-foreign pull/221/head:pull/221

PR: https://git.openjdk.java.net/panama-foreign/pull/221


More information about the panama-dev mailing list