30#define STACKFRAMETAG "STAK"
31#define STACKFRAMETV 1262572627
36#define stackframep(vso)(((struct vector_space_object *)vso)->header.tag.value == STACKFRAMETV)
An indirect pointer to a cons cell.
struct cons_pointer fetch_arg(struct stack_frame *frame, unsigned int n)
Fetch a pointer to the value of the local variable at this index.
struct cons_pointer make_special_frame(struct cons_pointer previous, struct cons_pointer args, struct cons_pointer env)
A 'special' frame is exactly like a normal stack frame except that the arguments are unevaluated.
void set_reg(struct stack_frame *frame, int reg, struct cons_pointer value)
set a register in a stack frame.
struct stack_frame * get_stack_frame(struct cons_pointer pointer)
get the actual stackframe object from this pointer, or NULL if pointer is not a stackframe pointer.
void dump_frame(URL_FILE *output, struct cons_pointer pointer)
Dump a stackframe to this stream for debugging.
void dump_stack_trace(URL_FILE *output, struct cons_pointer frame_pointer)
void free_stack_frame(struct stack_frame *frame)
Free this stack frame.
struct cons_pointer make_empty_frame(struct cons_pointer previous)
Make an empty stack frame, and return it.
struct cons_pointer make_stack_frame(struct cons_pointer previous, struct cons_pointer args, struct cons_pointer env)
Allocate a new stack frame with its previous pointer set to this value, its arguments set up from the...