Date: Mon, 08 Dec 2025 16:17:16 -0800
On Monday, 8 December 2025 14:56:04 Pacific Standard Time Frederick Virchanza
Gotham via Std-Proposals wrote:
> In its unoptimised form, yes there will be 8 bytes for every interface
> (i.e. one pointer on x86_64). I could add another option that forces
> the use of dynamic_cast, restricting it to one pointer. Passing 2 or 3
> or 4 pointers on x86_64 isn't a big deal as the first 6 go in
> registers.
There are 6 available registers on the SysV ABI, but only 4 on Windows.
Moreover, trivially copyable structures are limited to 16 bytes (2 registers)
on SysV ABI and zero on Windows.
Gotham via Std-Proposals wrote:
> In its unoptimised form, yes there will be 8 bytes for every interface
> (i.e. one pointer on x86_64). I could add another option that forces
> the use of dynamic_cast, restricting it to one pointer. Passing 2 or 3
> or 4 pointers on x86_64 isn't a big deal as the first 6 go in
> registers.
There are 6 available registers on the SysV ABI, but only 4 on Windows.
Moreover, trivially copyable structures are limited to 16 bytes (2 registers)
on SysV ABI and zero on Windows.
-- Thiago Macieira - thiago (AT) macieira.info - thiago (AT) kde.org Principal Engineer - Intel Data Center - Platform & Sys. Eng.
Received on 2025-12-09 00:17:18
