[foreign-abi] RFR 8237358: Split the DEREFERENCE binding operator into a load/store + move
Maurizio Cimadamore
maurizio.cimadamore at oracle.com
Tue Jan 28 13:52:45 UTC 2020
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