Tlasm HeapDefs
Tlasm HeapDefs
Macintosh · PDF
| Filename | tlasm-HeapDefs.pdf |
|---|---|
| Size | 0.18 MB |
| Subsection | prototypes / 1985_YACC / firmware / yaccsbug |
| Downloads | 3 |
Contents
HeapDefs.Text Thu, Mar 16, 1987 11:09 PM
Heaplefs - Definitions for Macintosh Assembly Language Memory Manager.
Supports multiple heap zones with mixed relocatable and non-relocatable
storage blocks.
Reorganized from code designed and written by Bud Tribble, 27-Nov-81,
and maintained and modified by Angeline Lo, Larry Kenyon,
and Andy Hertzfeld.
Modification History:
17 Feb 83 LAK added dfltStackSize for defltAppiLimit.
20 Mar 83° MPH changed memory size constants to support 512 K byte
machine; added PtrMask and HandleMask to allow garbage
in high byte of ptrs or handles passed to memory manager;
removed "checking" conditional from ChkZone macro.
29 Mar 83 MPH added purgeFrec and moverelProc. entries to zone object.
iG Jun 83) MPH Removed Definition of Nil, use Nil from GrafTypes.
17 Jun 83 MPH Removed moveRelProc from Heap object, inserted spare.
2i Jun 63 MPH Put FreeList code under assembly switch: FList.
18 Jul 83 LAK Removed FreeList stuff completely; removed TLock, TPurge;
removed Trap macro and check hook offsets.
for Flags byte: FNSelCompct ,FNoRvrAl loc ,FNSel Purge ,FRel AtEnd.
12 Aug 83° LAK Added ClearBit equate.
; These constants control conditional assembly.
Checking +Equ Q ycheck arguments and data structures
Statistics »Equ 6 ygather statistics on usage
Robust »Equ 0 yenables super-robust internal checks
CountHPs «Equ it) senables counting of master pointers
DF tFlags sEqu 0 yChecking is on when zone is init’d
H
3 Constants:
HinFree »EGU 12 312 byte minimum block size
TagMask »EQU #00000000 sMask for the 2-bit Tag Field
BCOFfMask EOL SOF 000000 sMask for the 4 bit Byte Count offset
BCMask »EQU $00FFFFFF yMask for the 24 bit Byte Count
PtrMask »EQU SQ0FFFFFF jMask pointer to low 24 bits
Hand] eMask »EQU FQOFFFFFF sMask handle to low 24 bits
Freelag -EQU #0 slag for Free block
NRel Tag »EGU $40000000 ylag for Non-Relocatable black
RelTag »EQU $80000000 3Tag for Relocatable block
MaxSize »EQU #800000 jMax data block size is 312K bytes
Mindddre »EGU $0 3Min legal address
MaxAddr »EBU S800000 yMax legal address for 512K machine
MaxMasters »EGU $1000 sRidiculously large allocation chunk size
dfl tasters »EQU 32 pDefault to 32 master pointers
df] tStackSize EGU $00002000 38K size for stack
anStackSize +EQU 00000400 31K minimum size for stack
i
H Block Types
H
t
ybk Mask »ERU 3 yMask for block type
30 Jul 63 LAK Added equates for PurgePtr and AllocFtr. Aiso added equates
HeapDets.Text
tybkFree
tybkNRel
tybkRel
Heap Zone
?
BkLim
PurgePtr
HFstFree
ZCBFree
62ZFroc
MAT ocOnt
Flags
FOnCheck
FChecking
FGZAl ways
FNGZResrv
FN5el Compct
FNoRvral loc
FNGel Purge
FRel AtEnd
cntRel
maxRel
cntNRel
maxNRel
entEmpty
cntHand]es
minCBFree
purgeProc
sparel
AllocPtr
Heaplata
MinZone
'
3
TagbC
Handle
BikData
SysZoneSize
AppZoneSize
Structure
StartPtr
LimitFtr
CMoreMasters
-EQU
EGU
EGU
Offsets:
»EQU
EGU
EGU
»EGU
»EQU
»EGU
«EGU
»EGU
+EQU
+EQU
»EQU
»EQU
»EQU
EGU
»EQU
»EQU
»EQU
»EQU
»EGU
»EGU
«EGU
»EGU
»EQU
EGU
E…
Showing first 3,000 characters of 5,210 total. Open the full document →