Next: Variable allocations, Previous: Type specifiers, Up: Declarations
ECL uses several runtime stacks.
Arguments to functions, lexical and temporary variables are allocated on the C stack. Temporary values saved on the C stack may sometimes be represented as raw data instead of pointers to heap-allocated cells. Accessing such raw data on the C stack results in faster compiled code, partly because no pointer dereferencing operation is necessary, and partly because no cell is newly allocated on the heap when a new object is created. This is particularly helpful for numeric code which computes with floating point numbers.
ECL uses a conservative garbage collector to scan the C stack and find references to live object.