Legend:
Page
Library
Module
Module type
Parameter
Class
Class type
Source
Module Linker.Trace
Call tracing.
Linker doesn't operate in terms of functions or subroutines, but rather in terms of executable chunks of code. It is convenient, though, to track called functions, i.e., there are names and arguments (data-flow). Since a code in Primus is an uniterpreted computation it is the responsibility of the code provider to make corresponding observations, when a subroutine is entered or left.
By default, the code is provided by the BIR Interpreter and Primus Interpreter. Both care to provide corresponding observations. However, the Primus Lisp Interpreter provides call observations only when an externally visible function is called, e.g., malloc, free.
occurs when a subroutine is called. Argument values are specified in the same order in which corresponding input arguments of a corresponding subroutine term are specified.
Context-wise, an observation is made when the interpreter is still in the subroutine. The argument list are in the same order as arguments of a corresponding subroutine. Values of all arguments are provided, including output and input arguments.