<> <> <> <> <> <> DIRECTORY Alloc: TYPE, CodeDefs: TYPE, ComData: TYPE, Counting: TYPE, FOpCodes: TYPE, IntCodeDefs: TYPE, PrincOps: TYPE, Symbols: TYPE, SymLiteralOps: TYPE, Tree: TYPE; CountingImpl: PROGRAM IMPORTS MPtr: ComData EXPORTS Counting, CodeDefs = { OPEN CodeDefs, Counting, Symbols; seb: Symbols.Base; -- se base (local copy) cb: CodeDefs.Base; -- code base (local copy) CountingNotify: PUBLIC Alloc.Notifier = { <> seb _ base[seType]; cb _ base[codeType]}; Allocate: PUBLIC PROC[zone: Tree.Link, type: SEIndex, catch: Tree.Link, size: Node] RETURNS [Node _ NIL] = { <> <> <> <> <> <> <> <> <> <> <> <<[first: zoneVar, next: copyVar] _ P5L.ReusableCopies[zoneVar, load, FALSE];>> <> <> <> <> <> <> <> <> <> <> <> <> <> <> <<>> <> <> <> <> <> <> <> <> <> <> <> <> <> <<};>> }; Free: PUBLIC PROC[var: Var, counted: BOOL, zone, catch: Tree.Link] RETURNS [Node _ NIL] = { <> <> <> <> <> <> <> <> <> <> <> <> <> <<[first: zoneVar, next: copyVar] _ P5L.ReusableCopies[zoneVar, load, FALSE];>> <> <> <> <> <> <> <> <> <> }; FillCounted: PUBLIC PROC[space, source: Var, options: StoreOptions, type: Symbols.SEIndex] RETURNS [Node _ NIL] = { <> <> <> <> <> <> <> <> <> <> <> <> <> <> <> <> <> <> <> <> <> <> <> <> <> <> <> <> <> <> <> <> <> <> <> }; GetSystemZone: PUBLIC PROC RETURNS [Node _ NIL] = { <> <> }; }.