Patent ID: 6732355
Filing Date: 2004-05-04
Classification: G06F

Abstract:
A method for tracing a stack, said method comprising the steps of:tracing execution of a compiled method program having at least one method, each said compiled method program containing a respective stack pointer change table generated during compilation corresponding to each method, each said stack pointer change table comprising at least one stack pointer change table entry, each said stack pointer change table entry containing an address of compiled machine code which changes a stack pointer value and a corresponding data concerning a size of a stack frame after said stack pointer value is changed, each said stack pointer change table being registered with a management block associated with the corresponding method; when a thread is temporarily stopped during said step of tracing execution of said method program, obtaining and storing a stop address at which execution code is temporarily stopped and a current value of a stack pointer; identifying a method in which said thread is temporarily stopped; accessing a first entry in the stack pointer change table corresponding to the method identified by said identifying step, said first entry having an address of compiled machine code which changes a stack pointer value equal to said stop address; calculating a frame size of said method identified by said identifying step, said frame size being the frame size after execution of the compiled machine code which changes a stack pointer value at the address contained in said first entry, said calculating step using the data concerning a size of a stack frame after said stack pointer value is changed in said first entry; and calculating and storing a base address which is to be pointed by a base pointer by using said current value of said stack pointer and said frame size of said method identified by said identifying step.