RFR: 8237359: Clean up Binding
Jorn Vernee
jvernee at openjdk.java.net
Mon Feb 10 16:06:19 UTC 2020
On Mon, 10 Feb 2020 15:35:04 GMT, Maurizio Cimadamore <mcimadamore at openjdk.org> wrote:
>> Continuation of: https://mail.openjdk.java.net/pipermail/panama-dev/2020-February/007417.html
>>
>>> Hi,
>>>
>>> Please review the following patch that does a few cleanups of the
>>> Binding class implementation:
>>> - Adds javadoc
>>> - Uses static factory methods instead of raw constructors. This allows
>>> returning singletons for some of the operators for instance.
>>> - Constructing a COPY_BUFFER binding now requires a MemoryLayout,
>>> instead of a separate size & alignment. This was easier given the use-cases.
>>> - Binding.AllocateBuffer renamed to Binding.Allocate (since we already
>>> had Copy as well).
>>> - BoxAddress renamed to ConvertAddress, as a more general name to
>>> describe the boxing & unboxing that can occur. Suggested by Maurizio.
>>>
>>> Webrev:
>>> http://cr.openjdk.java.net/~jvernee/panama/webrevs/cleanup_bindings/webrev.00/
>>> Bugs: https://bugs.openjdk.java.net/browse/JDK-8237359,
>>> https://bugs.openjdk.java.net/browse/JDK-8238227,
>>> https://bugs.openjdk.java.net/browse/JDK-8238235
>>>
>>> This patch take care of several smaller issues all at once. It applies
>>> on top of the JDK-8237360 patch.
>>>
>>> Thanks,
>>> Jorn
>
> src/jdk.incubator.foreign/share/classes/jdk/internal/foreign/abi/x64/sysv/CallArranger.java line 123:
>
>> 122: csb.addArgumentBindings(long.class, MemoryLayouts.SysV.C_LONG,
>> 123: Binding.builder().move(rax, long.class).build());
>> 124: }
>
> can't you use the factory here?
Good catch. I started out doing everything with the builder, but if we have both, this should use the factory.
-------------
PR: https://git.openjdk.java.net/panama-foreign/pull/12
More information about the panama-dev
mailing list