Stacks

What is the default Stack size ?

Stack

Default Size

Data

64 Bytes

Return

64 Bytes

Can Stack Size Be Changed?

Yes, see kernel configurations

Why is the stack ?

= 42

The top of stack element is held in a register in this implementation. Even if stack is empty, this register still exists. I initialise it to 42 (the answer to everything), it gets pushed and popped, and if you loose the 42, you know that you had a stack error

= 1829042247

Because of the stack error, some different (to 42) value has been put there. Usually, one does not know where this number comes from, but sometimes you get suspicious values.

For speed reasons, there is no overflow/underflow checking while running compiled code and it helps debugging if you know that you stack gone wrong somewhere in the past.