[foreign] Panama EA - August 2019 edition

Ty Young youngty1997 at gmail.com
Fri Aug 30 16:59:39 UTC 2019


On 8/28/19 5:11 AM, Maurizio Cimadamore wrote:
> I just want to clarify on this point below; the foreign memory access 
> work does not, in any way, hinder the higher level functionalities 
> provided by the foreign API/binder. We arrived at the foreign memory 
> access API because we felt that something low level was missing - e.g. 
> that the high level Pointer API was doing too much at once; and that 
> users not interested in a high-level API, but still wanting to access 
> off-heap data would not be served very well by the Pointer API alone.
>
> So, moving forward you can expect the bulk of the foreign API to be 
> relatively stable (well, it's a prototype, so we might tweak things 
> here and there); what will really change is how this API is 
> _implemented_ - that is, moving forward the foreign API will be built 
> _on top_ of the lower memory access and ABI layers. But high-level use 
> cases using jextract need not to worry about this.
>
> I hope this clarifies better where we'd like to land.


Yes, it does greatly. Thanks for clarifying.


Speaking of the Pointer API, could a method be added to wrap a pointer 
in another pointer for **char string pointers? AFAIK, the only way to do 
that is:


<LIB>.scope().allocate(<LIB>.scope().allocateCString("").type().pointer());


...which gets the Pointer<Pointer<Byte>> type that I need but I'm not 
entirely sure if this is the correct way to go about getting the type. 
Using the layout of a throwaway pointer layout just seems wrong and 
wasteful.


>
> Cheers
> Maurizio
>
> On 19/08/2019 10:33, sundararajan.athijegannathan at oracle.com wrote:
>>>
>>> All that said, how close is Panama? Is this foreign memory API going 
>>> to stay going forward or will the project take a major shift? I'd 
>>> *really* like to start putting this to use and am willing to make 
>>> adjustment where needed if minor changes are made, but if the entire 
>>> foreign API is scrapped it isn't worth it.
>>
>>
>> Panama "memory access" ("memaccess" panama-dev branch) API is 
>> expected to become stable first and then other parts of java.foreign 
>> later ("foreign" branch stuff). 


More information about the panama-dev mailing list