To provide a method for enabling a trace of a stack even without the base
pointer. When compiling a subroutine, a stack pointer (SP) change table is
created and registered with a subroutine together with an initial frame
size, the table recording a pair of an address of a code and the amount of
change in the stack pointer from the initial frame size, the code causing
an address of the stack pointer to be changed, and a thread is caused to
pause at a stack tracing time to calculate the be address of the frame
from an address of the initial frame, an execution restarting address in
this frame and the SP change table registered with a subroutine
corresponding to this address and the initial frame size, and thus a trace
of a stack is performed.
Para proporcionar un método para permitir un rastro de un apilado incluso sin el indicador bajo. Al compilar un subprograma, una tabla del cambio del puntero de pila (SP) se crea y se coloca con un subprograma junto con un tamaño inicial del marco, la tabla que registra un par de una dirección de un código y la cantidad de cambio en el puntero de pila del tamaño inicial del marco, el código que hace una dirección del puntero de pila ser cambiado, y un hilo de rosca se causa a la pausa en un rato que remonta del apilado de calcular la dirección del del bastidor de una dirección del bastidor inicial, de una dirección de recomienzo de la ejecución en este marco y de la tabla del cambio del SP registrada con un subprograma que corresponde a esta dirección y al tamaño inicial del marco, y un rastro de un apilado se realiza así.