-- file: ZoneAllocDefs.Mesa -- edited by McCreight, January 7, 1982 10:33 AM -- edited by gene on March 6, 1981 5:14 PM -- Copyright Xerox Corporation 1979, 1980, 1981, 1982 ZoneAllocDefs: DEFINITIONS = BEGIN uz: UNCOUNTED ZONE; mdsz: MDSZone; GetAnXMZone: PROCEDURE [ pagesPerExtension: CARDINAL ← 10, -- added segments are of this size largeSize: CARDINAL ← 1024, -- > largeSize is allocated as a segment checkSegments, checkHeap: BOOLEAN ← FALSE ] RETURNS [UNCOUNTED ZONE]; DestroyAnXMZone: PROCEDURE [z: UNCOUNTED ZONE] RETURNS [UNCOUNTED ZONE]; XMZoneWordsInUse: PROCEDURE[z: UNCOUNTED ZONE] RETURNS[LONG INTEGER]; GetTheMDSZone: PROCEDURE RETURNS [MDSZone]; GetXMAllocatorProcs: PROCEDURE RETURNS [ palloc: PROC [z: UNCOUNTED ZONE, l: CARDINAL] RETURNS [lp: LONG POINTER], pfree: PROC [z: UNCOUNTED ZONE, lp: LONG POINTER]]; -- Procedures to aid debugging ZoneSegments: PROCEDURE[z: UNCOUNTED ZONE ] RETURNS[small, large: LONG INTEGER]; InXMZone: PROCEDURE[z: UNCOUNTED ZONE, lp: LONG POINTER] RETURNS[BOOLEAN]; MustBeInXMZone: PROCEDURE[z: UNCOUNTED ZONE, lp: LONG POINTER] = INLINE {IF NOT InXMZone[z, lp] THEN SIGNAL MalformedXMZone}; MalformedXMZone: SIGNAL; END.