[foreign-jextract] RFR: 8248415: Create VarHandles for pointer fields through the MemoryHandles API [v3]

Filip Krakowski github.com+7255767+krakowski at openjdk.java.net
Mon Jul 6 19:31:48 UTC 2020


> This PR creates an adapted
> [`VarHandle`](https://github.com/openjdk/panama-foreign/blob/foreign-jextract/src/java.base/share/classes/java/lang/invoke/VarHandle.java)
> usable with
> [`MemoryAddress`](https://github.com/openjdk/panama-foreign/blob/foreign-jextract/src/jdk.incubator.foreign/share/classes/jdk/incubator/foreign/MemoryAddress.java)
> carriers for pointer fields. It uses
> [`MemoryHandles#asAddressVarHandle`](https://github.com/openjdk/panama-foreign/blob/foreign-jextract/src/jdk.incubator.foreign/share/classes/jdk/incubator/foreign/MemoryHandles.java#L334-L350)
> and a previously created `long` VarHandle to do so.

Filip Krakowski has updated the pull request with a new target base due to a merge or a rebase. The pull request now
contains three commits:

 - Add test for pointer typed fields in structs
 - Fix some carrier entries within carrier map
 - 8248415: Create VarHandles for pointer fields through the MemoryHandles API

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

Changes: https://git.openjdk.java.net/panama-foreign/pull/216/files
 Webrev: https://webrevs.openjdk.java.net/panama-foreign/216/webrev.02
  Stats: 118 lines in 4 files changed: 113 ins; 1 del; 4 mod
  Patch: https://git.openjdk.java.net/panama-foreign/pull/216.diff
  Fetch: git fetch https://git.openjdk.java.net/panama-foreign pull/216/head:pull/216

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


More information about the panama-dev mailing list