1: /*					-[Sat Jan 29 13:55:13 1983 by jkf]-
   2:  * 	frame.h				$Locker:  $
   3:  * non local goto frame definition
   4:  *
   5:  * $Header: frame.h,v 1.3 83/09/12 15:29:08 sklower Exp $
   6:  *
   7:  * (c) copyright 1982, Regents of the University of California
   8:  */
   9: 
  10: /* classes of frames: */
  11: #define F_PROG      1
  12: #define F_CATCH     2
  13: #define F_RESET     3
  14: #define F_EVAL      4
  15: #define F_FUNCALL   5
  16: #define F_TO_FORT   6
  17: #define F_TO_LISP   7
  18: 
  19: /* classes of things thrown up */
  20: #define C_INITIAL   0
  21: #define C_GO        1
  22: #define C_RET       2
  23: #define C_THROW     3
  24: #define C_RESET     4
  25: #define C_FRETURN   5
  26: 
  27: 
  28: /* the evaluation frame sits on the C runtime stack.  the global variable errp
  29:    points to the newest frame. The base of the frame points in the middle
  30:    of the frame, but in such a way that above the frame base the contents
  31:    are the same for all implementation, and below it there are different
  32:    saved registers for each machine.
  33: */
  34: 
  35: struct frame
  36: {
  37:     struct argent *svlbot, *svnp;
  38:     struct nament *svbnp;
  39:     struct frame *olderrp;
  40:     lispval retaddr;
  41:     long class;
  42:     lispval larg1;  /* optional */
  43:     lispval larg2;  /* optional */
  44: };
  45: 
  46: extern struct frame *errp, *Pushframe(), *Ipushf();
  47: 
  48: /* stuff for IBM, RIDGE, DEC-VMS CC, maybe Bellmac-32
  49:  *
  50:  * The non obvious requirement is that any new function
  51:  * requiring a Pushframe must declare
  52:  *
  53:  * 	pbuf pb;
  54:  *
  55:  * as well.
  56:  */
  57: 
  58: #ifdef SPISFP
  59: #define Pushframe(a,b,c) Ipushf(a,b,c,&pb)
  60: #endif
  61: 
  62: 
  63: typedef struct pframe
  64: {
  65:     long regs[16];
  66:     struct frame f;
  67: } pbuf;

Defined struct's

frame defined in line 35; used 6 times
pframe defined in line 63; never used

Defined typedef's

pbuf defined in line 67; never used

Defined macros

C_FRETURN defined in line 25; never used
C_GO defined in line 21; never used
C_INITIAL defined in line 20; never used
C_RESET defined in line 24; never used
C_RET defined in line 22; never used
C_THROW defined in line 23; never used
F_CATCH defined in line 12; never used
F_EVAL defined in line 14; never used
F_FUNCALL defined in line 15; never used
F_PROG defined in line 11; never used
F_RESET defined in line 13; never used
F_TO_FORT defined in line 16; never used
F_TO_LISP defined in line 17; never used
Pushframe defined in line 59; used 1 times
  • in line 46
Last modified: 1985-08-14
Generated: 2016-12-26
Generated by src2html V0.67
page hit count: 610
Valid CSS Valid XHTML 1.0 Strict