(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