[foreign-memaccess] [Rev 02] RFR: Add MemorySegment::mismatch
Chris Hegarty
chegar at openjdk.java.net
Wed May 20 18:18:49 UTC 2020
> Hi,
>
> As part of feedback on the Foreign Memory API (when experimenting with its usage internally in the JDK), a small number
> of potential usability enhancements could be made to the API. This is the fourth such, and last on my current todo
> list. This change proposes to add a new method:
> MemorySegment::mismatch
>
> The mismatch semantic is very useful for building equality and comparison logic on top of segments. I found that I
> needed such when modeling and comparing native socket address in the JDK implementation. It is possible to write your
> own, but requires a non-trivial amount of not-trivial code - to do it right! I also think that we can provide a more
> efficient implementation building on top of the JDK's internal mismatch support. I still need to do some perf testing
> and add a micro-benchmake ( Maurizio suggested possibly amending TestBulkOps ). There is also the question about
> possibly improving the JDK's internal implementation to work on long sizes (which could be done separately). For now, I
> just want to share the idea, along with the proposed specification and initial implementation. Comments welcome.
Chris Hegarty 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 four additional commits since
the last revision:
- Integrate Paul's review comment
- Merge remote-tracking branch 'origin/foreign-memaccess' into mismatch
- Move implementation into vectorizedMismatchLarge, and address other review comments.
- Initial mismatch implementation
-------------
Changes:
- all: https://git.openjdk.java.net/panama-foreign/pull/180/files
- new: https://git.openjdk.java.net/panama-foreign/pull/180/files/c5414aaf..caf136fd
Webrevs:
- full: https://webrevs.openjdk.java.net/panama-foreign/180/webrev.02
- incr: https://webrevs.openjdk.java.net/panama-foreign/180/webrev.01-02
Stats: 595 lines in 9 files changed: 575 ins; 6 del; 14 mod
Patch: https://git.openjdk.java.net/panama-foreign/pull/180.diff
Fetch: git fetch https://git.openjdk.java.net/panama-foreign pull/180/head:pull/180
PR: https://git.openjdk.java.net/panama-foreign/pull/180
More information about the panama-dev
mailing list