[foreign-memaccess] RFR: JDK-8242051: Clarify difference between checked and unchecked addresses
    Maurizio Cimadamore 
    mcimadamore at openjdk.java.net
       
    Thu Apr  2 17:55:16 UTC 2020
    
    
  
While most memory addresses are associated with a segment, addresses coming from native code, or those created from
scratch (e.g. MemoryAddress::ofLong) do not have an associated segment.
This patch addresses this problem by having unchecked memory addresses returning`null` on MemoryAddress::segment().
Similarly, the MemoryAddress::offset method has been renamed to `segmentOffset` and now throws UOE if called on an
unchecked address.
This makes the API cleaner: it is only possible to dereference those addresses which have an associated segment. I've
tweaked the javadoc to convey that message more clearly.
-------------
Commit messages:
 - * Tweaked API to return null if segment attached to MemoryAddress is nothing segment
Changes: https://git.openjdk.java.net/panama-foreign/pull/90/files
 Webrev: https://webrevs.openjdk.java.net/panama-foreign/90/webrev.00
  Issue: https://bugs.openjdk.java.net/browse/JDK-JDK-8242051
  Stats: 50 lines in 6 files changed: 23 ins; 2 del; 25 mod
  Patch: https://git.openjdk.java.net/panama-foreign/pull/90.diff
  Fetch: git fetch https://git.openjdk.java.net/panama-foreign pull/90/head:pull/90
PR: https://git.openjdk.java.net/panama-foreign/pull/90
    
    
More information about the panama-dev
mailing list