30 lines
717 B
C
30 lines
717 B
C
typedef struct _F_STACK_FRAME
|
|
{
|
|
struct _F_STACK_FRAME *previous;
|
|
|
|
/* Callee stores our LR here */
|
|
XT return_address;
|
|
|
|
/* ===== 32 bytes saved register area ===== */
|
|
CELL padding5[8];
|
|
|
|
/* ===== 16 byte local variable area ===== */
|
|
|
|
/* In compiled quotation frames, the quot->array slot.
|
|
In compiled word frames, unused. */
|
|
CELL array;
|
|
|
|
/* In compiled quotation frames, position within the array.
|
|
In compiled word frames, unused. */
|
|
CELL scan;
|
|
|
|
/* In all compiled frames, the XT on entry. */
|
|
XT xt;
|
|
|
|
/* ===== 12 byte padding to make it 16 byte aligned ===== */
|
|
CELL padding6[3];
|
|
} F_STACK_FRAME;
|
|
|
|
#define UAP_PROGRAM_COUNTER(ucontext) \
|
|
(((ucontext_t *)(ucontext))->uc_mcontext.uc_regs->gregs[PT_NIP])
|