Activation record
<compiler> (Or "data frame", "stack frame") A data structure containing the variables belonging to one particular
scope (e.g. a procedure body), as well as links to other activation records.
Activation records are usually created (on the
stack) on entry to a block and destroyed on exit.
If a procedure or function may be returned as a result, stored in a variable and used in an outer scope then its activation record must be stored in a
heap so that its variables still exist when it is used.
Variables in the current
scope are accessed via the
frame pointer which points to the current activation record.
Variables in an outer scope are accessed by following chains of links between activation records.
There are two kinds of link - the
static link and the
dynamic link.