The state of a method as it is being evaluated is called the execution frame. Each frame has a few unique values associated with it, including the maximum operations it can execute, the method itself, the current object and the object defining the method being executed. These values are only relevant to the current frame, and may or may not propagate to the next execution frame.
The maximum operations a frame can execute are also referred to as the ticks. If a frame runs out of ticks before it finishes executing, the ~ticks error is thrown by the interpreter.
These values can be determined by calling the following functions, as is appropriate:
FUNCTION RETURNS ticks_left() The ticks remaining in the frame method() The current method this() The current object definer() The object defining the method sender() The object which called this method (the last frame's current object) caller() The object defining the method which called this method (the last frame's definer)
Frames | Tasks | Preempting