[LLVMdev] Broke my tail (call)

Jon Harrop
Tue, 24 Feb 2009 10:35:40 -0000

On Tuesday 24 February 2009 00:16:37 Dan Gohman wrote:
> On Feb 23, 2009, at 5:59 AM, Anton Korobeynikov wrote:
> > This is not true in general and highly target- and CC- dependent. For
> > example, you can ran out of registers and then your struct can be
> > passed
> > partly in registers and partly on stack. And depending on the stack
> > frame size of the callee you can easily get infinite stack growth.
>
> There is a sense in which it is true -- first-class structs are
> converted to a set of *virtual* registers holding their first-class fields,
> which may of course be passed on the stack when physical registers run
> short, in exactly the same manner as with lots of scalar arguments.

Exactly.

--
Dr Jon Harrop, Flying Frog Consultancy Ltd.