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