[foreign-abi] RFR 8237358: Split the DEREFERENCE binding operator into a load/store + move
Jorn Vernee
jorn.vernee at oracle.com
Tue Jan 28 14:07:26 UTC 2020
Thanks - fixed and pushed.
Jorn
On 28/01/2020 14:52, Maurizio Cimadamore wrote:
> Looks good. The comment on Binding::dereference is probably out of
> date now?
>
> Also I've only really looked at SyyV and Windows CallArrangers - which
> look good.
>
> Maurizio
>
>
> On 28/01/2020 13:35, Jorn Vernee wrote:
>> Hi,
>>
>> Please review the following patch which splits the DEREFERENCE
>> binding operator into a load/store + move. This simplifies what the
>> binding operator does itself, but surfaces the need for a stack of
>> values in the binding interpreter rather than a single object. We
>> also need a DUP operator now, for instance in the case where a struct
>> is being passed to an upcall, we get ALLOC_BUFFER, DUP, MOVE,
>> DEREFERENCE where the buffer is left as last value on the stack to be
>> passed to the target method.
>>
>> However, we've found that splitting DEREFERENCE makes later
>> intrinsification much simpler.
>>
>> Bug: https://bugs.openjdk.java.net/browse/JDK-8237358
>> Webrev:
>> http://cr.openjdk.java.net/~jvernee/panama/webrevs/8237358/webrev.00/
>>
>> I've tested this on Windows and Linux (WSL). I also have a binding
>> recipe verifier which I ran this through. Will submit that in the
>> next patch. (But, I thought it would be best to get this API change
>> out of the way before adding more tests, to avoid having to update
>> them).
>>
>> Thanks,
>> Jorn
>>
More information about the panama-dev
mailing list