-- DHeap.mesa last edit, Bruce July 30, 1980 7:45 AM DIRECTORY DebugOps USING [Foo], Mopcodes USING [zBLT, zBLTL]; DHeap: DEFINITIONS = BEGIN Initialize: PROCEDURE; FreeEverything: PROCEDURE; AllocFob: PROCEDURE RETURNS [f: DebugOps.Foo]; FreeFobs: PROCEDURE; -- utilities FreeLong: PROC [p: LONG POINTER]; NotInHeap: SIGNAL; Zero: PROC [p: POINTER, l: CARDINAL] = INLINE BEGIN IF l = 0 THEN RETURN; p^ _ 0; COPY[from: p, to: p+1, nwords: l-1] END; COPY: PROC [from: POINTER, nwords: CARDINAL, to: POINTER] = MACHINE CODE BEGIN Mopcodes.zBLT END; LongCOPY: PROC [from: LONG POINTER, nwords: CARDINAL, to: LONG POINTER] = MACHINE CODE BEGIN Mopcodes.zBLTL END; END.