[armedbear-devel] [rfc] Preventing stack inconsistencies - structurally

Ville Voutilainen ville.voutilainen at gmail.com
Fri Dec 31 16:26:30 UTC 2010

> The JVM clears the stack when it enters an exception handler (in Java

Minor clarification: the call stack frames are unwound rather than cleared. The stack doesn't clear completely, it unwinds to the catching frame.

If any values were stored on the stack, they're gone at that point, _unless_ they were pushed before invoking the throwing operation. I actually 
don't see how local variables are different,
as both operand stacks and local variables
are stored into call stack frames. If the frame
is unwound, the values are gone. If the frame
and/or local variables are established before
the throwing call, they still exist after a throw,
otherwise not.

More information about the armedbear-devel mailing list