Important: The information in this document is obsolete and should not be used for new development.
Index
[']
& operator @ operator 0 (memory location) 0-length handles 24-bit addressing [1] [2] defined setting with the Memory control panel stripping flag bits [1] 32-bit addressing [1] [2] defined machines that support setting with the Memory control panel using temporarily 32-bit cleanA
A5 register and A5 world [1] [2] grow-zone functions saving and restoring [1] [2] setting and restoring [1] [2] [3] use of by Toolbox and Operating System routines [1] using to access QuickDraw globals [1] A5 world accessing in completion routines [1] accessing in interrupt tasks [1] defined setting [1] [2] addresses. See memory addresses addressing modes 24-bit [1] 32-bit [1] current mode, getting [1] switching [1] Address Management Unit (AMU) address space. See logical address space; physical address space address-translation mode getting [1] setting [1] temporarily changing AMU (Address Management Unit) AND operator AppleShare, and paging devices application global variables accessing in completion routines accessing in interrupt tasks application heap [1] defined determining amount of free space [1] maximizing space to prevent fragmentation setting up [1] [2] application heap limit getting [1] [2] setting [1] [2] application heap zone See also heap zones defined getting a pointer to [1] initializing [1] maximizing size of [1] [2] subdividing into multiple heap zones [1] application parameters application partitions [1] [2] ApplicationZone function ApplicationZone function [1] ApplLimit global variable [1] [2] [3] ApplZone global variableB
backing-store files defined volume specified in Memory control panel backing volume. See paging device block contents block headers [1] BlockMove function [1] [2] BlockMove procedure [1] [2] _BlockMove trap, flushing instruction cache blocks, memory See also nonrelocatable blocks; relocatable blocks allocating [1] concatenating [1] copying [1] [2] defined how allocated manipulating [1] releasing [1] size correction for Boolean operators, short-circuit [1] BufPtr global variable [1] limitation on lowering during startup bus-error vectorsC
caches. See data cache; disk cache; instruction cache callback routines and code segmentation [1] maintaining the A5 register in [1] click-loop routines, and the A5 register code resources, copying into system heap code segmenting and dangling pointers [1] effect on callback routines [1] compacting heap zones [1] compaction. See heap compaction CompactMem function [1] CompactMem function CompactMemSys function CompactMemSys function [1] completion routines deferred under virtual memory maintaining the A5 register in [1] concatenating memory blocks [1] concurrent drivers control action procedures, and the A5 register control definition procedures, and the A5 register control panels, Memory See Memory control panel copy-back cache copying memory blocks [1] [2] CurrentA5 global variable [1] [2] and callback routines defined getting value [1] [2] current heap zone CurStackBase global variable cushions. See memory cushionsD
dangling pointers avoiding [1] causes of [1] dangling procedure pointers [1] defined detecting introduced locking blocks to prevent [1] referencing callback routines [1] using local variables to prevent data cache [1] and virtual memory defined flushing DebuggerEnter procedure [1] [2] DebuggerEnter function DebuggerExit function DebuggerExit procedure [1] [2] DebuggerGetMax function [1] DebuggerGetMax function DebuggerLockMemory function DebuggerLockMemory function [1] DebuggerPoll function DebuggerPoll procedure [1] [2] debuggers, and virtual memory [1] DebuggerUnlockMemory function DebuggerUnlockMemory function [1] _DebugUtil trap deferred tasks, and the A5 register DeferUserFn function DeferUserFn function [1] introduced using [1] dereferenced handles DeskHook global variable and displaying windows during startup time DetachResource procedure device drivers, avoiding page faults dialog boxes, and low-memory situations direct memory access (DMA) [1] [2] and stale data disk cache defined [1] setting with the Memory control panel disposed handles checking for defined preventing dereferencing of [1] problems using DisposeHandle procedure [1] [2] [3] DisposeHandle function [1] [2] DisposePtr function [1] [2] DisposePtr procedure [1] [2] [3] DMA. See direct memory access double indirection double page faults [1] [2] duplicating relocatable blocks [1]E
EmptyHandle function [1] [2] EmptyHandle procedure [1] [2] used by a grow-zone function empty handles checking for definedF
fake handles [1] [2] [3] defined problems using [1] [2] Finder, allocation of memory for disk copying flag bits master pointer stripping FlushCodeCache procedure [1] FlushCodeCacheRange function [1] FlushDataCache function FlushDataCache procedure [1] flushing data cache [1] [2] instruction cache [1] [2] [3] FlushInstructionCache function FlushInstructionCache procedure [1] fragmentation. See heap fragmentation FreeMem function [1] FreeMem function FreeMemSys function FreeMemSys function [1] free space assessing [1] assessing availability for temporary memory [1]G
gaps in heaps, danger of GetApplLimit function [1] [2] GetApplLimit function [1] [2] GetHandleSize function GetHandleSize function [1] GetMMUMode function [1] GetMMUMode function GetNextEvent function, and temporary memory GetPageState function GetPageState function [1] GetPhysical function GetPhysical function [1] and discontiguous physical address space introduced using [1] GetPtrSize function [1] GetPtrSize function GetZone function GetZone function [1] global variables. See application global variables; system global variables; QuickDraw global variables grow-zone functions [1] [2] and the A5 register defined finding protected block [1] [2] setting [1] [2] using SetA5 function [1] [2] using SetCurrentA5 function [1] [2] GZRootHnd global variable [1] [2] GZSaveHnd function [1] [2] GZSaveHnd function [1] [2]H
HandAndHand function HandAndHand function [1] handles See also relocatable blocks defined [1] recovering [1] relative HandleZone function [1] HandleZone function HandToHand function HandToHand function [1] HClrRBit function HClrRBit procedure [1] heap compaction defined movement of relocatable blocks during routines for [1] HeapEnd global variable heap fragmentation causes of [1] defined during memory reservation [1] maximizing heap size to prevent preventing [1] summary of prevention [1] heap purging [1] routines for [1] heap. See application heap; system heap heap zones See also zone headers; zone trailers accessing [1] changing [1] defined getting current zone [1] initializing [1] manipulating [1] organization of [1] subdividing into multiple heap zones [1] HFS RAM Cache panel HGetState function [1] [2] HGetState function [1] [2] high memory, allocating at startup time [1] HLock procedure [1] [2] [3] HLock function [1] [2] HLockHi function [1] [2] HLockHi procedure [1] [2] HNoPurge function [1] [2] HNoPurge procedure [1] [2] holding physical memory HoldMemory function HoldMemory function [1] HPurge function [1] [2] HPurge procedure [1] [2] HSetRBit function HSetRBit procedure [1] HSetState procedure [1] [2] [3] HSetState function [1] [2] HUnlock function [1] [2] HUnlock procedure [1] [2] _HWPriv trap macroI
InitApplZone function InitApplZone procedure [1] initializing new heap zones within other heap zones [1] InitZone function [1] [2] InitZone procedure [1] [2] [3] instruction cache defined flushing [1] [2] [3] interprocess buffers, and temporary memory interrupt tasks and Memory Manager routines [1] [2] and temporary memory deferring under virtual memory maintaining the A5 register [1] interrupt time avoiding Memory Manager routines at [1] [2] deferring code execution under virtual memory interrupts, nonmaskable I/O completion routines, and the A5 register ISP. See stack pointer, interruptJ, K
jump table jump table entries and stale instructions for callback routinesL
linked lists, allocating new elements in loading code segments, and dangling pointers [1] _LoadSeg trap, flushing instruction cache locking physical memory debugger routine [1] defined routines for [1] locking relocatable blocks [1] [2] [3] LockMemoryContiguous function [1] LockMemory function LockMemoryContiguous function LockMemory function [1] and stale data introduced logical address space [1] possible fragmentation of size of with 24-bit addressing size of with 32-bit addressing translating to physical address space logical sizes of blocks logical-to-physical translation table. See translation table low-memory conditions [1] low-memory global variables See system global variablesM
master pointer blocks master pointer flag bits master pointers allocating manually [1] [2] comparing defined determining how many to preallocate [1] number per block in application zone running out of MaxApplZone function [1] [2] MaxApplZone procedure [1] [2] and ApplLimit global variable and heap fragmentation automatic execution of [1] [2] MaxBlock function [1] MaxBlock function MaxBlockSys function MaxBlockSys function [1] maximizing heap zone space [1] MaxMem function [1] MaxMem function MaxMemSys function MaxMemSys function [1] MC680x0 microprocessor data cache instruction cache size of memory blocks with MemErr global variable [1] [2] MemError function [1] [2] [3] [4] memory See also temporary memory; virtual memory allocating and releasing [1] [2] allocating during startup [1] assessing [1] changing sizes of blocks [1] freeing [1] holding organization of [1] [2] releasing memory addresses comparing converting to 32-bit mode [1] [2] mapping logical to physical [1] stripping flag bits from [1] [2] translating [1] [2] memory-block record memory blocks. See blocks, memory memory configuration, obtaining information about Memory control panel [1] [2] addressing mode controls disk cache controls illustrated introduced RAM disk controls virtual memory controls memory cushions defined determining optimal size of maintaining [1] _MemoryDispatch trap macro _MemoryDispatchA0Result trap macro memory management unit (MMU) Memory Manager [1] 24-bit 32-bit allocating master pointers and application heap [1] application-defined routines [1] calling grow-zone function capabilities of compacting heap [1] data types [1] [2] defined movement of blocks by purging heap [1] reserving memory [1] [2] returning result codes [1] [2] [3] [4] routines [1] testing for features [1] memory reservation. See reserving memory memory reserves benefits of defined maintaining [1] MemTop global variable [1] [2] menu definition procedures, and the A5 register MMU (memory management unit) MoreMasters procedure [1] [2] MoreMasters function [1] [2] MoveHHi function [1] [2] MoveHHi procedure [1] [2] moving relocatable blocks high [1] [2] multiple heap zones implementing [1] uses for [1]N
NewEmptyHandle function [1] NewEmptyHandle function NewEmptyHandleSys function NewEmptyHandleSys function [1] NewHandle function [1] [2] NewHandle function [1] [2] NewHandleClear function [1] [2] NewHandleClear function [1] [2] NewHandleSys function [1] NewHandleSys function NewHandleSysClear function NewHandleSysClear function [1] NewPtr function [1] [2] NewPtr function [1] [2] NewPtrClear function [1] [2] NewPtrClear function [1] [2] NewPtrSys function [1] NewPtrSys function NewPtrSysClear function NewPtrSysClear function [1] nonessential memory requests, checking whether to satisfy nonmaskable interrupts nonrelocatable blocks See also blocks, memory advantages of [1] allocating [1] [2] [3] allocating temporarily defined disposal and reallocation of [1] releasing [1] [2] sizing [1] when to allocate [1] Notification Manager, and the A5 world notification response procedures, and the A5 registerO
OpenResFile function, calling StripAddress on filenames OpenRFPerm function, calling StripAddress on filenames operating system queues, storing elements in system heap zone ordered address comparisons original application heap zone _OSDispatch trap macroP
Paged Memory Management Unit (PMMU) PageFaultFatal function PageFaultFatal function [1] page faults See also double page faults defined handling intercepted by Virtual Memory Manager [1] [2] protection against [1] [2] pages, memory defined holding locking locking contiguously releasing unlocking paging paging device partitions See also application partitions; system partition patches, and stale instructions physical address space [1] discontiguous physical memory [1] holding pages in [1] locking pages in [1] releasing pages unlocking pages physical sizes of blocks PMMU (Paged Memory Management Unit) pointers [1] See also nonrelocatable blocks; dangling pointers Process Manager, and callback routines processor caches [1] See also data cache; instruction cache ProcPtr data type ProcPtr data type [1] and code segmentation [1] program counter, fixing before switching to 32-bit mode protected blocks defined determining which they are [1] [2] handle to returned by GZSaveHnd [1] [2] PtrAndHand function [1] PtrAndHand function PtrToHand function PtrToHand function [1] PtrToXHand function [1] PtrToXHand function PtrZone function PtrZone function [1] purge-warning procedures [1] [2] defined installed by SetResPurge restrictions on sample using SetA5 function using SetCurrentA5 function PurgeMem procedure [1] PurgeMem function PurgeMemSys function PurgeMemSys procedure [1] PurgeSpace function [1] [2] PurgeSpace procedure [1] [2] purging heap zones [1] [2] purging relocatable blocks [1]Q
QuickDraw global variables defined reading in stand-alone code [1] using in stand-alone code [1]R
RAM cache. See disk cache RAM disks defined setting size of with Memory control panel _Read trap, flushing instruction cache ReallocateHandle function [1] [2] ReallocateHandle procedure [1] [2] reallocating relocatable blocks [1] RecoverHandle function RecoverHandle function [1] relative handles releasing held pages relocatable blocks See also blocks, memory; handles allocating [1] [2] changing properties [1] [2] clearing resource bit [1] concatenating [1] defined disadvantages of [1] duplicating [1] emptying [1] [2] getting properties [1] [2] in bottom of heap zone locking [1] [2] [3] for long periods of time for short periods of time making purgeable [1] [2] making unpurgeable [1] [2] managing [1] [2] master pointers after disposing master pointers for moving around nonrelocatable blocks moving high [1] [2] properties of [1] purging [1] reallocating [1] [2] [3] releasing [1] [2] restrictions on locked blocks setting properties [1] [2] setting resource bit [1] sizing [1] movement during unlocking [1] [2] [3] when to lock removable disks, and virtual memory ReserveMem procedure [1] [2] ReserveMem function [1] [2] ReserveMemSys function ReserveMemSys procedure [1] reserves. See memory reserves reserving memory [1] and heap fragmentation [1] defined for relocatable blocks limitation of [1] routines [1] resource bit clearing [1] setting [1] Resource Manager, installing purge-warning procedures resource types 'SIZE' 'sysz' result codes for Memory Manager routines [1] [2] [3] [4]S
self-modifying code, and stale instructions SetA5 function [1] [2] SetA5 function [1] [2] used in a grow-zone function [1] [2] used in a purge-warning procedure SetApplBase function SetApplBase procedure [1] SetApplLimit function [1] [2] SetApplLimit procedure [1] [2] using to increase size of stack [1] SetCurrentA5 function [1] [2] SetCurrentA5 function [1] [2] used in a grow-zone function [1] [2] used in a purge-warning procedure SetGrowZone procedure [1] [2] [3] [4] SetGrowZone function [1] [2] SetHandleSize function SetHandleSize procedure [1] SetPtrSize function SetPtrSize procedure [1] SetResPurge procedure, installing purge-warning procedures SetZone function SetZone procedure [1] short-circuit Boolean operators [1] size correction for blocks Size data type Size data type 'SIZE' resource type, specifying partition size slot-based VBL tasks, deferred under virtual memory stack collisions with the heap default size of defined determining available space increasing size of [1] stack frame stack pointer interrupt (ISP) user (USP) stack sniffer StackSpace function StackSpace function [1] stale data avoiding problems with defined stale instructions avoiding problems with defined stand-alone code resources, changing address-translation mode in [1] startup process allocating memory during [1] displaying windows during StripAddress function StripAddress function [1] supervisor mode SwapDataCache function [1] SwapDataCache function SwapInstructionCache function SwapInstructionCache function [1] SwapMMUMode function SwapMMUMode procedure [1] calling from stand-alone code [1] SysEqu.p interface file system extensions, allocating memory at startup time system global variables changing defined [1] [2] reading [1] uses of [1] system heap [1] defined held in RAM under virtual memory system heap zone allocating memory in creating new heap zones within defined getting a pointer to [1] installing interrupt code into [1] uses for system partition [1] See also system heap; system global variables SystemZone function SystemZone function [1] SysZone global variable 'sysz' resource typeT
tag bytes TempFreeMem function [1] TempFreeMem function TempMaxMem function TempMaxMem function [1] TempNewHandle function TempNewHandle function [1] temporary memory allocating [1] confirming success of allocation defined [1] [2] determining zone of limitation on locking operating on blocks optimal usage of release of during application termination routines [1] testing for features of [1] tracking of using as a heap zone TheZone global variable 32-bit addressing [1] [2] defined machines that support setting with the Memory control panel using temporarily 32-bit cleanTHz data type Time Manager tasks and the A5 register deferred under virtual memory TopMem function TopMem function [1] Translate24To32 function Translate24To32 function [1] translating logical to physical addresses [1] [2] translation tables trap patches, and the A5 register 24-bit addressing [1] [2] defined setting with the Memory control panel stripping flag bits [1]U
UnholdMemory function UnholdMemory function [1] _UnloadSeg trap, flushing instruction cache unlocking physical memory [1] [2] debugger routine [1] unlocking relocatable blocks [1] [2] [3] UnlockMemory function UnlockMemory function [1] updating windows, saving memory space for USP. See stack pointer, userV
VBL tasks and the A5 register deferred under virtual memory Vector Base Register (VBR) virtual memory and AppleShare volumes and removable disks and user interrupts backing-store file bus-error vectors under CPU data caching debugger routines [1] debugger support for [1] deferring interrupt code execution introduced management routines [1] mapping information, getting [1] requirements for running setting with the Memory control panel testing for availability [1] Virtual Memory Manager [1] See also virtual memory data structures [1] defined [1] routines [1]W, X, Y
WaitNextEvent function, and temporary memory window definition procedures, and the A5 register WITH statement (Pascal), and dangling pointers word-break routines, and the A5 register write-through cacheZ
zero (memory location) See 0 (memory location) zero-length handles See 0-length handles zone headers [1] zone pointers zone records [1] zone trailer blocks zone trailers