[foreign] Panama EA - August 2019 edition
Ty Young
youngty1997 at gmail.com
Fri Aug 30 17:41:25 UTC 2019
On 8/30/19 12:25 PM, Maurizio Cimadamore wrote:
>
> On 30/08/2019 17:59, Ty Young wrote:
>>
>> 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.
>
> If you want to allocate a Pointer<Pointer<Byte>> you can do this:
>
>
> <LIB>.scope().allocate(NativeTypes.UINT8.pointer());
>
Is the size the same as a C String with that?
>
> Maurizio
>
>
>>
>>
>>>
>>> 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