1
0
mirror of synced 2026-01-12 00:42:56 +00:00
Interlisp.medley/docs/internal/32MBAddressSpaceLayout.tedit

11 lines
4.2 KiB
Plaintext
Raw Permalink Blame History

This file contains invisible Unicode characters

This file contains invisible Unicode characters that are indistinguishable to humans but may be processed differently by a computer. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

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)))))=<00><00> t<01><01>=<00><00> h<01><01>= <00><00> t<01><01>= <00><00> h<01><01>7<00><00>P<01>
TIMESROMAN
TIMESROMAN

TIMESROMAN

TIMESROMAN
8C
$ %) ( %2&1(+

 3#!N<00><00><00>&?<00> <09>xz<78>