1/* Copyright (c) 1982 Regents of the University of California */ 2 3/* static char sccsid[] = "@(#)frame.rep 1.2 01/18/82"; */ 4 5/* 6 * Definitions for accessing stack frames. 7 */ 8 9#define MAINBLK 1 10 11/* 12 * Structure of an activation record's block mark. See the 13 * PX implementation notes for more details. 14 */ 15 16struct frame { 17 ADDRESS stackref; /* for px self-checking */ 18 ADDRESS file; /* current file information */ 19 ADDRESS blockp; /* pointer to current block name */ 20 ADDRESS *save_loc; /* saved local variable pointer */ 21 ADDRESS *save_disp; /* saved dp contents */ 22 ADDRESS *save_dp; /* saved dp */ 23 ADDRESS save_pc; /* saved location counter */ 24 int save_lino; /* saved source line number (never used) */ 25}; 26 27FRAME *curframe(); /* get the currently active frame */ 28FRAME *nextframe(); /* go up the stack */ 29FRAME *findframe(); /* find the frame for a given function */ 30ADDRESS entry(); /* get the entry address for a frame */ 31ADDRESS *dispval(); /* display associated with a given block */ 32ADDRESS *curdp(); /* return current display pointer */ 33ADDRESS *contents(); /* return the contents of display pointer */ 34ADDRESS stkaddr(); /* stack address associated with a frame */ 35