Lines Matching defs:frame
259 toyvm_frame_push (toyvm_frame *frame, int arg)
261 assert (frame->frm_cur_depth < MAX_STACK_DEPTH);
262 frame->frm_stack[frame->frm_cur_depth++] = arg;
266 toyvm_frame_pop (toyvm_frame *frame)
268 assert (frame->frm_cur_depth > 0);
269 return frame->frm_stack[--frame->frm_cur_depth];
273 toyvm_frame_dump_stack (toyvm_frame *frame, FILE *out)
277 for (i = 0; i < frame->frm_cur_depth; i++)
279 fprintf (out, " %d", frame->frm_stack[i]);
289 toyvm_frame frame;
290 #define PUSH(ARG) (toyvm_frame_push (&frame, (ARG)))
291 #define POP(ARG) (toyvm_frame_pop (&frame))
293 frame.frm_function = fn;
294 frame.frm_pc = 0;
295 frame.frm_cur_depth = 0;
303 assert (frame.frm_pc < fn->fn_num_ops);
304 op = &fn->fn_ops[frame.frm_pc++];
308 toyvm_frame_dump_stack (&frame, trace);
309 toyvm_function_disassemble_op (fn, op, frame.frm_pc, trace);
369 frame.frm_pc = op->op_operand;