Unifying memory addresses and memory segments

Maurizio Cimadamore maurizio.cimadamore at oracle.com
Tue Jul 19 14:05:10 UTC 2022


Hi,
The Java 19 Foreign Function and Memory API (FFM API) uses zero-length 
memory segments to encode pointers that are temporally safe (this 
replaces the NativeSymbol abstraction that was available in Java 18).
It turns out that there's more to this approach than meets the eye, as 
memory segments can (with few tweaks) be used as a replacement for 
memory address everywhere in the FFM API, which leads to a simpler and 
more symmetric API.

We have captured our findings in the following document:

http://cr.openjdk.java.net/~mcimadamore/panama/segment_address.html

Cheers
Maurizio




More information about the panama-dev mailing list