Call Stack - Structure

Structure

A call stack is composed of stack frames (also called activation records or activation frames). These are machine dependent and ABI-dependent data structures containing subroutine state information. Each stack frame corresponds to a call to a subroutine which has not yet terminated with a return. For example, if a subroutine named DrawLine is currently running, having been called by a subroutine DrawSquare, the top part of the call stack might be laid out like this:

A diagram like this can be drawn in either direction as long as the placement of the top, and so direction of stack growth, is understood. Furthermore, independently of this, architectures differ as to whether call stacks grow towards higher addresses or towards lower addresses. The logic of the diagram is independent of the addressing choice.

The stack frame at the top of the stack is for the currently executing routine. The stack frame usually includes at least the following items (in push order):

  • the arguments (parameter values) passed to the routine (if any);
  • the return address back to the routine's caller (e.g. in the DrawLine stack frame, an address into DrawSquare's code); and
  • space for the local variables of the routine (if any).

Read more about this topic:  Call Stack

Famous quotes containing the word structure:

    It is difficult even to choose the adjective
    For this blank cold, this sadness without cause.
    The great structure has become a minor house.
    No turban walks across the lessened floors.
    The greenhouse never so badly needed paint.
    Wallace Stevens (1879–1955)

    The question is still asked of women: “How do you propose to answer the need for child care?” That is an obvious attempt to structure conflict in the old terms. The questions are rather: “If we as a human community want children, how does the total society propose to provide for them?”
    Jean Baker Miller (20th century)

    I’m a Sunday School teacher, and I’ve always known that the structure of law is founded on the Christian ethic that you shall love the Lord your God and your neighbor as yourself—a very high and perfect standard. We all know the fallibility of man, and the contentions in society, as described by Reinhold Niebuhr and many others, don’t permit us to achieve perfection.
    Jimmy Carter (James Earl Carter, Jr.)