|
|
1.1 ! root 1: /* Copyright (c) 1982 Regents of the University of California */ ! 2: ! 3: /* static char sccsid[] = "@(#)frame.rep 1.2 1/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: ! 16: struct 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: ! 27: FRAME *curframe(); /* get the currently active frame */ ! 28: FRAME *nextframe(); /* go up the stack */ ! 29: FRAME *findframe(); /* find the frame for a given function */ ! 30: ADDRESS entry(); /* get the entry address for a frame */ ! 31: ADDRESS *dispval(); /* display associated with a given block */ ! 32: ADDRESS *curdp(); /* return current display pointer */ ! 33: ADDRESS *contents(); /* return the contents of display pointer */ ! 34: ADDRESS stkaddr(); /* stack address associated with a frame */
This archive runs on limited infrastructure. Preserving old code on modern bandwidth. Automated agents are requested to crawl responsibly.