Java Cup
Inside Java

News and views from members of the Java team at Oracle

Unifying Memory Addresses and Memory Segments

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.


More at https://mail.openjdk.org/pipermail/panama-dev/2022-July/017181.html.