(FILECREATED "10-Sep-86 13:08:31" {ERIS}<TAMARIN>TSIM>NOREFCOUNT.;2 2383   

      changes to:  (VARS NOREFCOUNTCOMS)
		   (FNS GC-OFF)

      previous date: "25-Aug-86 12:46:48" {ERIS}<TAMARIN>TSIM>NOREFCOUNT.;1)


(* Copyright (c) 1986 by Xerox Corporation. All rights reserved.)

(PRETTYCOMPRINT NOREFCOUNTCOMS)

(RPAQQ NOREFCOUNTCOMS [(* * To make a datatype non-garbage-collectable. This saves us the effort of 
			    maintaining reference counts - To use, declare the datatype and then call
			    (Make-Not-Reference-Counted data-type-name)
			    before creating any instances of the datatype.)
			 (FNS Make-Not-Reference-Counted GC-OFF)
			 (DECLARE: EVAL@COMPILE DONTCOPY (FILES (LOADCOMP)
								LLDATATYPE)
				   (EXPORT (MACROS \GETDTD])
(* * To make a datatype non-garbage-collectable. This saves us the effort of maintaining 
reference counts - To use, declare the datatype and then call (Make-Not-Reference-Counted 
data-type-name) before creating any instances of the datatype.)

(DEFINEQ

(Make-Not-Reference-Counted
  [LAMBDA (TYPENAME)                                       (* smL " 4-Jun-86 09:57")

          (* * Make datatype TYPENAME not ref counted. Must not have allocated any yet)

                                                             (* Thanks to bvm for this magic)
    (LET ((DTD (\GETDTD (\TYPENUMBERFROMNAME TYPENAME)))
	  NEW BITS)
         [replace DTDTYPEENTRY of DTD with (SETQ BITS (LOGOR 32768 (fetch DTDTYPEENTRY
										of DTD]
         (COND
	   ((SETQ NEW (fetch DTDFREE of DTD))          (* Have to fix type of already allocated page, if any)
	     (\MAKEMDSENTRY (IPLUS (LLSH (\HILOC NEW)
					       8)
				       (LRSH (\LOLOC NEW)
					       8))
			      BITS])

(GC-OFF
  [LAMBDA NIL                                                (* edited: "10-Sep-86 13:08")
    (Make-Not-Reference-Counted (QUOTE node))
    (Make-Not-Reference-Counted (QUOTE trans])
)
(DECLARE: EVAL@COMPILE DONTCOPY 
(FILESLOAD (LOADCOMP)
	   LLDATATYPE)

(* FOLLOWING DEFINITIONS EXPORTED)


(DECLARE: EVAL@COMPILE 
[PUTPROPS \GETDTD MACRO ((typeNum)
	   (ADDBASE \DTDSpaceBase (LLSH typeNum 4]
)


(* END EXPORTED DEFINITIONS)

)
(PUTPROPS NOREFCOUNT COPYRIGHT ("Xerox Corporation" 1986))
(DECLARE: DONTCOPY
  (FILEMAP (NIL (1016 2054 (Make-Not-Reference-Counted 1026 . 1835) (GC-OFF 1837 . 2052)))))
STOP