On 08/03/2011 07:07 AM, Georg-Johann Lay wrote:
> #include <stdio.h>
> 
> void foo ()
> {
>     printf ("%d %d %d", 1, 2, 3);
>     printf ("%d %d %d", 3, 4, 5);
>     printf ("%d %d %d", 1, 4, 5);
> }
> 
> Attached the output: The compiler happily pushes onto the stack
> but pops only at the end of the function. So in a function with
> many such calls that would eat up great deal of RAM. It that
> what we want?

Add more printfs and find out.  We'll consume 32 bytes and then
pop it all off in the middle of the function, then start again.

See the use of pending_stack_adjust in expand_call.


r~

Reply via email to