Google
 

Trailing-Edge - PDP-10 Archives - decuslib10-04 - 43,50325/tn.beg
There are no other files named tn.beg in the archive.
! File:   TN.BEG
!
!    This work was supported by the Advanced Research
!    Projects Agency of the Office of the Secretary of
!    Defense (F44620-73-C-0074) and is monitored by the
!    Air Force Office of Scientific Research.

!
!		THIS IS THE BEGIN FILE FOR TEMP NAMES
!
!

! FIELDS OF A TN CELL (IN ADDITION TO COMMON FIELDS)
! --------------------------------------------------

    MACRO
	BNDTYP	=0,33,3$,	! TYPE TO WHICH THIS TN HAS BEEN BOUND
	REQD	=0,30,3$,	! TYPE OF TEMP REQUIRED
	LDF	=0,24,6$,	! LOOPDEPTH FIELD
	PREFF	=0,0,18$,	! POINTER TO PREFERENCE LIST
	LONFU	=1,18,18$,	! LON OF FIRST USE
	LONLU	=1,0,18$,	! LON OF LAST USE
	FONFU	=2,18,18$,	! FON OF FIRST USE
	FONLU	=2,0,18$,	! FON OF LAST USE
	TNLITBIT	=3,32,1$,	! THIS TN POINTS TO A LITERAL
	BNDLSTHDR	=3,0,18$,	! POINTER TO LIST OF ALL THINGS BOUND
					! TO THE SAME PLACE AS THIS ONE
	TNPERMIT	=4,0,18$,	! IF NONZERO, POINTS TO A TN WHICH THIS ONE
					! MAY LIVE WITH REGARDLESS OF LIFETIME
					! OVERLAP.
	TNLITLEX	=4,0,36$,	! CONTAINS LITLEXEME IF TNLITBIT IS ON
	XUSECOMPLEXITY	=5,18,18$,	! MAX USE COMPLEXITY
	USECOMPLEXITY	=5,0,18$;	! (MIN) USE COMPLEXITY

! DEFINITION OF "REQD" FIELD (IN TN CELLS) VALUES
! ------------------------------------------------


    BIND
	NOREQDB=0,	! ANY BINDING IS POSSIBLE
	MEMREQDB=1,	! BINDING REQUIRED TO SPECIFIC MEMORY
	SLREQDB=2,	!    "        "    "  STATIC LOCAL
	ARREQDB=3,	!    "        "    "  ANY REGISTER
	SRREQDB=4,	!    "        "    "  A SPECIFIC REGISTER
	IGREQDB=5,	! IGNORE THIS TN (DUMMY ENTRY)
	DECREQDB=6,	! DECLARED TN (LOCAL OR REGISTER)
	RFREQDB=7;	! BIND TO REGISTER OR FORGET IT (FORGET IT BINDING IS IN OFFSETF)

! DEFINITION OF "BNDTYP" FIELD VALUES
! -----------------------------------

    BIND
	BNDREG=1,
	BNDLOCAL=2,
	BNDPUSH=3,
	BNDPREF=4,
	BNDNCSE=5;


! TNREP AND LIST STRUCTURES FOR TN'S
! ----------------------------------

    STRUCTURE TNREPR[I,J,K,L]=
	CASE .I OF
	  SET
	  .TNREPR<.K,.L>;
	  GT[@.TNREPR,.J,.K,.L];
	  GT[.GT[@.TNREPR,1,0,18],.J,.K,.L]
	  TES;

    MACRO TNR=1,1,18,18$,
	  TNPTR=1,1,0,18$,	! POINTER TO THE TN THIS TNREP REPS
	  TNLINKWORD=1,0,0,36$;	! LLINK+RLINK IN THE TNREP


! MACROS FOR SETTING THE FIELDS OF A TN
! -------------------------------------

    MACRO
	TNSRREQD(T,R)=(GT[(T),REQD]_SRREQDB; GT[(T),REGF]_R)$,
	TNARREQD(T)=(GT[(T),REQD]_ARREQDB)$,
	TNSLREQD(T)=(GT[(T),REQD]_SLREQDB)$,
	TNDECREQD(T)=(GT[(T),REQD]_DECREQDB)$,
	TNFORGET(T)=(GT[(T),REQD]_IGREQDB)$;


! SIZE OF ALLOCATED STACKS
! --------------------------

    BIND STKSIZE=64,
	 DTDONTCARE=#777;	! DEPENDS ON SIZE OF DTDELETE FIELD