File: StagePool.mesa
Last Edited by Ousterhout, April 16, 1985 11:23:48 am PST
This interface provides two procedures that are used to allocate and deallocate stage records. The procedures bypass the Cedar storage allocator and thereby make Crystal run substantially faster.
DIRECTORY
Globals;
StagePool: CEDAR DEFINITIONS = {
OPEN Globals;
New: PROC[] RETURNS [stage: Stage];
This procedure is called to allocate a new Stage object. It will re-use an old no-longer-needed Stage before calling Cedar to allocate a new one.
Free: PROC[stage: Stage];
This procedure is called to explictly free a Stage object. The Stage will be saved for re-use in the next call to New, thereby avoiding the need for Cedar to garbage-collect the stage.
}.