Unifying memory addresses and memory segments

Paul Sandoz paul.sandoz at oracle.com
Thu Aug 25 20:59:27 UTC 2022



> On Aug 25, 2022, at 12:51 AM, Glavo <zjx001202 at gmail.com> wrote:
> 
> It looks good in terms of simplifying API design, but this seems to have some detrimental effects on performance optimization as well as memory management.
> 

Can you please data you have on any performance regressions you are observing?


> Do we have some benchmarks to show changes in performance and memory overhead (number of temporary objects created)?
> 

I believe the existing micro benchmarks show no regressions:

  https://github.com/openjdk/jdk/tree/master/test/micro/org/openjdk/bench/java/lang/foreign

Paul.


> On Tue, Jul 19, 2022 at 10:05 PM Maurizio Cimadamore <maurizio.cimadamore at oracle.com> wrote:
> 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