hg: panama/panama/jdk: Summary: push of version-2 prototype of Arrays2.0. Work remains, comment is requested.
John Rose
john.r.rose at oracle.com
Wed Oct 8 01:35:59 UTC 2014
On Oct 7, 2014, at 5:59 PM, Samuel Audet <samuel.audet at gmail.com> wrote:
> Is panama-dev going to be the place where most of the discussions about Arrays2.0 take place? Or is this part of some other project?
I like to think of Panama as consisting of three major chunks of work:
FFI, data layouts, and Arrays 2.0.
I gave an early and rough prospectus of the Arrays 2.0 work at
the 2012 JVM Language Summit [1] and Karl Taylor and I talked
more generally about flattened data structures this year[2].
[1]: http://cr.openjdk.java.net/~jrose/pres/201207-Arrays-2.pdf
[2]: http://cr.openjdk.java.net/~jrose/pres/201407-FlattenedData.pdf
The Panama project page[3] implies this work under these bullet items:
• native data access from JVM or inside JVM heap
• new data layouts in JVM heap
[3]: http://openjdk.java.net/projects/panama/
In two big bullets, Panama can be viewed as:
A. foreign function interface (FFI from the function binding part of JNR)
B. new, flatter data layouts (type-safe access to hardware-friendly flat data)
The second bullet can be split into the strictly foreign part and the Java part:
B01. foreign data interface (C structs, type-safe off-heap access)
B02. flatter Java objects (similar to IBM Packed objects, http://objectlayout.org)
It could also be split along a different axis, arrays vs. non-arrays:
B11. Arrays 2.0
B12. other flat data structures (i.e., records or tagged data streams)
Other items get pulled into Panama are pulled into it because they are
needed to support A and B well (layout metadata, header file scraping) or because
they are primary uses of A and B (array arithmetic, native library integration).
— John
More information about the panama-dev
mailing list