In
computer science, a
call stack is a
stack data structure that stores information about the active
subroutines of a
computer program. This kind of stack is also known as an
execution stack,
control stack,
run-time stack, or
machine stack, and is often shortened to just "the stack". Although maintenance of the call stack is important for the proper functioning of most
software, the details are normally hidden and automatic in
high-level programming languages. Many computer
instruction sets provide special instructions for manipulating stacks.