-- file P5U.mesa -- last edited by Sweet, April 9, 1980 4:41 PM -- last edited by Satterthwaite, 13-Jan-82 9:12:36 DIRECTORY Alloc: TYPE USING [Handle, Notifier], CodeDefs: TYPE USING [ Byte, CCIndex, ChunkIndex, CodeCCIndex, CodeChunkType, JumpType, LabelCCIndex], PackageSymbols: TYPE USING [WordIndex], Symbols: TYPE USING [BitAddress, CSEIndex, CTXIndex, ISEIndex, RecordSEIndex, SEIndex], Tree: TYPE USING [Index, Link]; P5U: DEFINITIONS = BEGIN OPEN Symbols, CodeDefs; CgenUtilNotify: Alloc.Notifier; AllocCodeCCItem: PROC [n: [0..3]] RETURNS [c: CodeCCIndex]; BitsForOperand: PROC [t: Tree.Link] RETURNS [CARDINAL]; BitsForType: PROC [sei: SEIndex] RETURNS [CARDINAL]; CCellAlloc: PROC [t: CodeChunkType]; CgenUtilInit: PROC [ownTable: Alloc.Handle]; ComputeFrameSize: PROC [fs: CARDINAL] RETURNS [CARDINAL]; CreateLabel: PROC RETURNS [c: LabelCCIndex]; DeleteCell: PROC [c: CCIndex]; EnumerateCaseArms: PROC [node: Tree.Index, action: PROC [t: Tree.Link]]; FieldAddress: PROC [sei: ISEIndex] RETURNS [BitAddress, CARDINAL]; FreeChunk: PROC [i: CodeDefs.ChunkIndex, size: CARDINAL]; FullWordBits: PROC [bits: CARDINAL] RETURNS [CARDINAL]; GetChunk: PROC [size: CARDINAL] RETURNS [CodeDefs.ChunkIndex]; InsertLabel: PROC [c: LabelCCIndex]; LabelAlloc: PROC RETURNS [c: LabelCCIndex]; LongTreeAddress: PROC [t: Tree.Link] RETURNS [long: BOOLEAN]; MakeLongTreeLiteral: PROC [d: DESCRIPTOR FOR ARRAY OF WORD, type: CSEIndex] RETURNS [Tree.Link]; MakeTreeLiteral: PROC [val: WORD] RETURNS [Tree.Link]; MarkedType: PROC [SEIndex] RETURNS [CSEIndex]; NextVar: PROC [sei: ISEIndex] RETURNS [ISEIndex]; OperandType: PROC [t: Tree.Link] RETURNS [sei: CSEIndex]; Out0: PROC [i: Byte]; Out1: PROC [i: Byte, p1: WORD]; Out2: PROC [i: Byte, p1, p2: WORD]; Out3: PROC [i: Byte, p1, p2, p3: WORD]; OutJump: PROC [jt: JumpType, l: LabelCCIndex]; OutSource: PROC [index: CARDINAL]; ParamCount: PROC [c: CodeCCIndex] RETURNS [CARDINAL]; PrevVar: PROC [ssei, sei : ISEIndex] RETURNS [ISEIndex]; PushLitVal: PROC [v: UNSPECIFIED]; RecordConstant: PROC [offset: PackageSymbols.WordIndex, length: CARDINAL]; ReferentType: PROC [type: SEIndex] RETURNS [SEIndex]; TreeLiteral: PROC [t: Tree.Link] RETURNS [BOOLEAN]; TreeLiteralValue: PROC [t: Tree.Link] RETURNS [WORD]; TypeForTree: PROC [t: Tree.Link] RETURNS [SEIndex]; VariantTag: PROC [type: SEIndex, ctx: CTXIndex] RETURNS [WORD]; WordAligned: PROC [tsei: RecordSEIndex] RETURNS [BOOLEAN]; WordsForOperand: PROC [t: Tree.Link] RETURNS [n: CARDINAL]; WordsForSei: PROC [sei: SEIndex] RETURNS [CARDINAL]; WordsForString: PROC [nChars: CARDINAL] RETURNS [CARDINAL]; END.