[vectorIntrinsics] RFR: Load store memory segment [v4]

Paul Sandoz psandoz at openjdk.java.net
Wed Mar 30 22:13:49 UTC 2022


> This is the initial implementation for loading/storing vectors from/to memory segments.
> 
> Some of the changes are related to `int` -> `long` for the offset. I had to change the load/store intrinsic signatures to accept an offset as a `long`. This does not affect the C2 implementation, only the fallback lambdas. So in some cases there is a downcast to `int`, which is safe because the original input was an `int` e.g. the offset for primitive array access. 
> 
> Some changes related to module dependency and memory segment proxies will go away when the Memory Segment API is integrated into `java.base` as a preview API.
>  
> There is still more work to do but i wanted to get this in now and iterate:
> - I will remove the `byte[]` and `ByteBuffer` accepting load/store methods in a following PR.
> - some additional negative tests are required, specifically if a scope of segment is not alive, or the segment covers a heap array other than `byte[]`.

Paul Sandoz has updated the pull request incrementally with one additional commit since the last revision:

  Long accepting loopBound and indexInRange.

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

Changes:
  - all: https://git.openjdk.java.net/panama-vector/pull/187/files
  - new: https://git.openjdk.java.net/panama-vector/pull/187/files/98eae994..a40ea21a

Webrevs:
 - full: https://webrevs.openjdk.java.net/?repo=panama-vector&pr=187&range=03
 - incr: https://webrevs.openjdk.java.net/?repo=panama-vector&pr=187&range=02-03

  Stats: 799 lines in 36 files changed: 798 ins; 0 del; 1 mod
  Patch: https://git.openjdk.java.net/panama-vector/pull/187.diff
  Fetch: git fetch https://git.openjdk.java.net/panama-vector pull/187/head:pull/187

PR: https://git.openjdk.java.net/panama-vector/pull/187


More information about the panama-dev mailing list