Difference between revisions of "Call stack"
From Computer History Wiki
(An OK, if stubby, start) |
m (Slight tweaks) |
||
Line 1: | Line 1: | ||
− | A '''call stack''' is the record, on the [[stack]], of which [[subroutine|procedure]] invocations are active at any given point in time. Each [[stack frame]] in the call stack will contain the procedure's arguments (if any), the return point in the calling routine, | + | A '''call stack''' is the record, on the [[stack]], of which [[subroutine|procedure]] invocations are active at any given point in time. Each [[stack frame]] in the call stack will contain the procedure's arguments (if any), the return point in the calling routine, any [[local variable]]s in the called procedure, etc, etc. |
− | In [[programming language]]s which support [[condition handler]]s, the record of which conditions are handled in any given routine on the call stack is usually listed in that routine's call frame, for use during | + | In [[programming language]]s which support [[condition handler]]s, the record of which conditions are currently being handled in any given routine on the call stack is usually listed in that routine's call frame, for use during the stack [[unwind]] which occurs when a condition is raised. |
{{stub}} | {{stub}} |
Revision as of 23:25, 19 October 2017
A call stack is the record, on the stack, of which procedure invocations are active at any given point in time. Each stack frame in the call stack will contain the procedure's arguments (if any), the return point in the calling routine, any local variables in the called procedure, etc, etc.
In programming languages which support condition handlers, the record of which conditions are currently being handled in any given routine on the call stack is usually listed in that routine's call frame, for use during the stack unwind which occurs when a condition is raised.