Oberon ||
Library ||
Module Index ||
Search Engine ||
Definition ||
Module
Ulm's Oberon Library:
SysStacks
NAME
SysStacks - examination of coroutine stacks
SYNOPSIS
TYPE Stack = RECORD END;
PROCEDURE Open(VAR stack: Stack; cr: Coroutines.Coroutine);
PROCEDURE Next(VAR stack: Stack;
VAR base, top, pc: SysTypes.UntracedAddress) : BOOLEAN;
DESCRIPTION
SysStacks
offers a system-independent interface for the examination of
coroutine stacks. This is used by the garbage collection
(see SysStorage)
and may find applications in debugging scenarios.
Open
opens the stack of the coroutine cr for examination.
Next
returns, beginning from the topmost procedure invocation, the
registers pointing to the beginning of the activation record (base),
the end of the activation record (top), and the associated
program counter (pc). Multiple calls of Next allow
to advance to the calling procedures until the begin of the stack
is reached where Next returns FALSE.
Please note that neither Open nor Next allocate storage
using NEW or other methods. Hence, both operations can be
safely called during garbage collections or other critical moments.
SEE ALSO
- Memory
-
address space management
- SysModules
-
may be used to map program counters into module / procedure combinations
- SysStorage
-
garbage collection
Edited by: borchert, last change: 2005/08/24, revision: 1.2, converted to HTML: 2005/08/24
Oberon ||
Library ||
Module Index ||
Search Engine ||
Definition ||
Module