Skip to main content
Home Documents Macintosh Tlasm HeapDefs
Tlasm HeapDefs

Tlasm HeapDefs

Macintosh · PDF
Filenametlasm-HeapDefs.pdf
Size0.18 MB
Subsection prototypes / 1985_YACC / firmware / yaccsbug
Downloads3
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 →

MacTrove — a free archive of classic Macintosh software. Files mirrored from ftp.funet.fi/pub/mac (info-mac + funet legacy). All software provided for historical preservation.