The control stack contains only Lisp objects. Every object pointed to by an entry on this stack is kept alive.
The control stack does not have a rigid frame structure. The compiler
is allowed a large amount of freedom in the use of the stack so that it choose
the best calling sequences. Mostly the compiler is the only system that cares
how the stack is laid out, so this isn't a big problem. See chapter
for a description of the structures which allow the debugger
to parse the stack.