Re: How to implement fastcall ?
On Wednesday, 23 September 2020 at 19:50:13 UTC, Denis Feklushkin wrote: On Monday, 21 September 2020 at 11:14:06 UTC, Виталий Фадеев wrote: How to implement fastcall ? ( stdcall is calling convention for pass function arguments via registers ) Hypothesis: it is possible what LLVM + Link Time Optimization does by this way. ~All modern ABIs use registers; __fastcall was one of the special 32-bit x86 ABIs AFAIK (using up to 2 GP registers) and isn't supported directly. The D ABI for 32-bit x86 uses one GP register (and is somewhat similar to __thiscall for member functions).
Re: How to implement fastcall ?
On Monday, 21 September 2020 at 11:14:06 UTC, Виталий Фадеев wrote: How to implement fastcall ? ( stdcall is calling convention for pass function arguments via registers ) Hypothesis: it is possible what LLVM + Link Time Optimization does by this way.
Re: How to implement fastcall ?
On Monday, 21 September 2020 at 11:14:06 UTC, Виталий Фадеев wrote: How to implement fastcall ? ( stdcall is calling convention for pass function arguments via registers ) The supported linkage attributes are here: https://dlang.org/spec/attribute.html#linkage `extern(Windows)` is stdcall, `extern(C)` is cdecl. Unless it's a hidden feature that I'm unaware of, fastcall is not supported.
Re: How to implement fastcall ?
On Monday, 21 September 2020 at 11:14:06 UTC, Виталий Фадеев wrote: How to implement fastcall ? ( stdcall is calling convention for pass function arguments via registers ) On Monday, 21 September 2020 at 11:14:06 UTC, Виталий Фадеев wrote: fix... ( fastcall is calling convention for pass function arguments via registers )
How to implement fastcall ?
How to implement fastcall ? ( stdcall is calling convention for pass function arguments via registers )