11 lines
4.2 KiB
Plaintext
11 lines
4.2 KiB
Plaintext
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. |