(DEFINE-FILE-INFO READTABLE "XCL" PACKAGE "INTERLISP")(FILECREATED "29-Mar-95 11:53:28" |{DSK}<lispcore>sources>MAPATOMS.;2| 3719         |changes| |to:|  (FNS MAPATOMS)      |previous| |date:| "29-Mar-95 10:47:32" |{DSK}<lispcore>sources>MAPATOMS.;1|)(PRETTYCOMPRINT MAPATOMSCOMS)(RPAQQ MAPATOMSCOMS ((FNS MAPATOMS)))(DEFINEQ(MAPATOMS  (LAMBDA (FN)                                       (* \; "Edited 29-Mar-95 11:52 by sybalsky")    (* |;;| "8-FEB-92 JDS:  We now switch over into big-atom mode at 12288  (changes in \\CREATE.SYMBOL should be lected here)")    (PROG ((A 0)           (DTD (\\GETDTD \\NEW-ATOM)))          (|for| |old| A |from| 0 |to| (IMIN |\\AtomFrLst| 12286)             |do| (APPLY* FN (\\INDEXATOMPNAME A)))          (COND             ((IGREATERP |\\AtomFrLst| 12286)              (LET* ((SIZE (|fetch| DTDSIZE |of| DTD))                     (ATOM# A)                     (FIRSTFREE (|fetch| DTDFREE |of| DTD))                     (LASTFREE (|create| POINTER                                      PAGE# _ (LOGAND (|fetch| (POINTER PAGE#) |of| FIRSTFREE                                                             )                                                     65534)))                     (LASTFREE2 (|create| POINTER                                       PAGE# _ (ADD1 (LOGAND (|fetch| (POINTER PAGE#)                                                                |of| FIRSTFREE)                                                            65534))))                     RESULT FIRSTPAGE LASTPAGE LIMIT)                    (COND                       ((.ALLOCATED.PER.PAGE. SIZE)                        (SETQ LASTPAGE (SUB1 |\\PagesPerMDSUnit|))                        (SETQ LIMIT WORDSPERPAGE))                       (T (SETQ LASTPAGE 0)                          (SETQ LIMIT (FOLDLO |\\MDSIncrement| |\\PagesPerMDSUnit|))))                    (|for| MDSPAGE# |from| 0 |by| (ADD1 LASTPAGE)                       |while| (<= MDSPAGE# \\MAXVMPAGE) |when| (EQ (MDSTYPE# MDSPAGE#)                                                                            \\NEW-ATOM)                       |do|                              (* |;;|                     "Now collect all pointers not on free list.  This code parallels \\INITMDSPAGE")                             (|for| N |from| 0 |to| LASTPAGE                                |do| (SETQ FIRSTPAGE (|create| POINTER                                                                PAGE# _ (IPLUS N MDSPAGE#)))                                      (|for| (DISP _ 0) |while| (<= (|add| DISP SIZE)                                                                            LIMIT)                                         |as| (DATUMBASE _ FIRSTPAGE)                                         |by| (\\ADDBASE DATUMBASE SIZE)                                         |when| (OR (AND (NEQ FIRSTPAGE LASTFREE)                                                             (NEQ FIRSTPAGE LASTFREE2))                                                        (|for| (FREE _ FIRSTFREE)                                                           |by| (\\GETBASEPTR FREE 0)                                                           |while| FREE                                                           |never| (EQ DATUMBASE FREE)))                                         |do| (APPLY* FN DATUMBASE)                                               (|add| ATOM# 1))))                    NIL)))))))(DECLARE\: DONTCOPY  (FILEMAP (NIL (341 3696 (MAPATOMS 351 . 3694)))))STOP