Interlisp-D fixed allocations: conversion to Intermezzo (all numbers in octal) Name Old Size (pages) Old Addr New Size New Addr Old Real New Real On page 26: Interface Page 1 26,10000 1 6,0 3 3 Primary Page Map 2 26,0 10 6,1000 2153 3313 StatsSpace (unused) 2 26,120000 omit Interrupt Table (unused) ? 26,121200 omit MiscStats 2 (1 used) 26,122000 2 6,5000 UFN Table 2 26,123000 2 6,6000 DTD **** 20 26,124000 20 (140) 6,10000 MDS Type Table 40 26,100000 1/2 seg 6,100000 1600 2400 FPTOVP 1/4 seg 26,40000 1 seg 4,0 501 2000 Misc: Secondary Page Map 1/4 seg 25,0 1 seg 5,0 Stack 1 seg 27,0 1 seg 1,0 1000 1400 GC Hash table 1/2 seg 73,0 1/2 seg 20,0 1400 2600 GC Collision * 1 seg 74,0 1 seg 21,0 GC Overflow ** 1 73,100000 1 20,100000 1640 3000 GC Big Ref 1-? 73,100400 1-? 20,100400 Display Bitmap 312 76,0 312 22,0 1641 3001 LockedPageTable  (26,20000) 20 6,70000 Map (Dlion only) 100  400  400 400 IOPage (Dlion only) 1 0,177400 1 0,177400 500 1000 SmallPosP's 1 seg 16,0 1 seg 16,0 SmallNegs 1 seg 17,0 1 seg 17,0 Arrayspace Start 40,0 23,0 Atoms: (if 64K atoms) Pname Pointers 1 seg 20,0 2 seg 10,0 Definitions 1 seg 21,0 2 seg 12,0 Topvals 1 seg 22,0 2 seg 14,0 Property Lists 1 seg 23,0 2 seg 2,0 Atom Hash Table 1/2 seg 24,0 1 seg 7,0 Pname Chars *** 8 seg 30,0 6 seg 72,0 * Collision table occupies 1 segment, all preallocated, for no particularly good reason. It wants to be big, because once it fills up, you have to disable gc. I have seen the table get as large as a quarter segment. Current algorithms prevent it from being larger than one segment, but it would be easy to make it 2 segments long. ** GC Overflow table is actually just a few words. Current microcode relies on it being in the same segment as GC Hash, but this is not very important. *** Pname char space is currently far too large for 32K litatoms; it might be about right for 64K, but we plan to dispose of it when pnames are hunked (taken as allocblocks), leaving just enough to get thru MAKEINIT. **** Want to allow a little extra space for DTD in case we expand number of datatypes. This layout allows us to expand from 256 datatypes (8 bits) to 1536 datatypes (11 bits) before bumping into the LockedPageTable. Further notes, June 1986 (post-Koto): Pname char space now goneall pnames are allocated from hunks. Atom Hash Table address range used also for cml Character type (an immediate). With packages, atom hash table will go away eventually.(LIST ((PAGE NIL (PAPERSIZE Letter FOLIOINFO (ARABIC )) (0 0 612 792) ((TEXT NIL NIL (72 12 468 732) NIL))) (PAGE NIL (PAPERSIZE Letter FOLIOINFO (ARABIC ) STARTINGPAGE# NIL) (0 0 612 792) ((TEXT NIL NIL (72 12 468 732) NIL))) (PAGE NIL (PAPERSIZE Letter FOLIOINFO (ARABIC ) STARTINGPAGE# NIL) (0 0 612 792) ((TEXT NIL NIL (72 12 468 732) NIL)))))= t= h=  t=  h7P TIMESROMAN TIMESROMAN  TIMESROMAN  TIMESROMAN 8C $ %) ( %2&1(+   3#!N&? xz