[foreign-abi] RFR 8228509: Add support for binding varargs functions on Windows

Maurizio Cimadamore maurizio.cimadamore at oracle.com
Thu Jul 25 21:32:03 UTC 2019


Looks very good - you might want to wait to push until we get some more 
info with respect to the repo verification issue.

Cheers
Maurizio

On 25/07/2019 22:18, Jorn Vernee wrote:
> Here is the updated webrev: 
> http://cr.openjdk.java.net/~jvernee/panama/webrevs/8228509/webrev.01/
>
> I removed the varargs version of CallingSequenceBuilder::addArgument, 
> as well as the varargs binding computer.
>
> I also went over the Windows CallingSequenceBuilderImpl and cut out a 
> lot of stuff that wasn't actually needed.
>
> Jorn
>
> On 2019-07-25 17:32, Maurizio Cimadamore wrote:
>> Looks very nice.
>>
>> But I think we can make it simpler :-)
>>
>> Note that in SysV and Aarch64 we don't care whether an argument is
>> varargs or not. In Windows we do, but now the layout is expressive
>> enough to encode the 'isVarargs' info itself.
>>
>> So... I propose to change CallingSequenceBuilder::addArgument and to
>> drop the boolean 'isVarargs' from there. Win64
>> CallingSequenceBuilderImpl can easily check the layout annotation and
>> act accordingly.
>>
>> Other than that looks great - very nice test!
>>
>> Maurizio
>>
>>
>> On 25/07/2019 16:02, Jorn Vernee wrote:
>>> Hi,
>>>
>>> Please review the following patch which adds support for using 
>>> varargs functions with float arguments on Windows (e.g. printf).
>>>
>>> Bug: https://bugs.openjdk.java.net/browse/JDK-8228509
>>> Webrev: 
>>> http://cr.openjdk.java.net/~jvernee/panama/webrevs/8228509/webrev.00/
>>>
>>> This mainly consists of a way to mark varargs argument layouts as 
>>> such through the use of an annotation, which is then detected when 
>>> computing a CallingSequence.
>>>
>>> I've also added a general purpose test for testing the passing of 
>>> vararg arguments.
>>>
>>> Thanks,
>>> Jorn


More information about the panama-dev mailing list