On Fri, 8 Nov 2024 05:26:37 GMT, Julian Waters <jwat...@openjdk.org> wrote:

>>> Can someone confirm that use of `__stdcall` has no affect on name 
>>> decorations, as there is no mention here about anything being ignored:
>>> 
>>> https://learn.microsoft.com/en-us/cpp/build/reference/decorated-names?view=msvc-170
>>> 
>>> I would have expected that if argument passing needs to use the stack then 
>>> the decorated name would still need to encode that somehow.
>> 
>> In the page you mentioned:
>> 
>>  Format of a C decorated name
>> The form of decoration for a C function depends on the calling convention 
>> used in its declaration, as shown in the following table. It's also the 
>> decoration format that's used when C++ code is declared to have extern "C" 
>> linkage. The default calling convention is __cdecl. **In a 64-bit 
>> environment, C or extern "C" functions are only decorated when using the 
>> __vectorcall calling convention**.
>
>> Can someone confirm that use of `__stdcall` has no affect on name 
>> decorations, as there is no mention here about anything being ignored:
>> 
>> https://learn.microsoft.com/en-us/cpp/build/reference/decorated-names?view=msvc-170
>> 
>> I would have expected that if argument passing needs to use the stack then 
>> the decorated name would still need to encode that somehow.
> 
> Not __stdcall: https://godbolt.org/z/nvjTP5WPc
> __stdcall: https://godbolt.org/z/1KejW44vY

Thanks @TheShermanTanker . I see the arguments do affect the encoding but the 
`__stdcall` makes no difference.

-------------

PR Comment: https://git.openjdk.org/jdk/pull/21744#issuecomment-2463816359

Reply via email to