The bad thing is that gcc can't use those slots optimally. If you have for
example:
void f(int *x)
{
}
void g()
{
int a;
f(&a);
}
void h()
{
g();
}
Then the variable "a" can't be placed into one of the 6 implicit slots for
g->f call (beacuse "f" may overwrite that slot). But "a" could be placed
into one of those 6 slots that "h" allocates for "g" (because these slots
are owned by "g"). But it isn't --- additional place is allocated for "a"
:-/
Mikulas
--