// Raid.decl - Declarations of Lisp data structures used only by Raid // Last edited August 29, 1981 11:53 PM by Bill van Melle // Allegro change August 2, 1981 11:20 PM by Beau Sheil // Last edited March 4, 1981 12:49 PM by Beau Sheil // Last edited February 24, 1981 5:39 PM by Beau Sheil // Last edited August 6, 1980 6:40 PM by Beau Sheil get "LispBcpl.decl" // *** The truth for all these declarations is the Lisp *** manifest [ DEL = #177 // DEL char code // offsets for stack frames flagword = 0 // offsets for last word of a basic frame BFIvar = 1 // ptr to start of BF BFRmask = #1000 BFPmask = #400 // offsets and masks for a frame extension FXalink = 1 FXblink = 8 FXclink = 9 FXPvar = 10 FXFHlo = 2 FXFHhi = 3 FXnxt = 4 FXNTlo = 6 FXNThi = 7 FXNMask = #1 lshift 8 // These are in the flag word FXVMask = #2 lshift 8 FXCMask = #4 lshift 8 FXLMask = #10 lshift 8 FXFMask = #20 lshift 8 FXXMask = #1 // in the Alink word // offsets and masks for guard and free blks FreeBlkLen = 1 GrdBlkLen = 1 // name table offsets NTPV = 2 NTfname = 4 NTnPV = 7 offNtSize = 6 ntOvheadWords = 8 // name table codes fvarCode = #140000 pvarCode = #100000 ivarCode = 0 fvarmask = #1 // tells if fvar is looked up ] structure [ // atom pointer - used to extract number blank word // lhbyte not used; rhbyte zero AtomNumber word ] // atom number structure [ // generalized array (sequence) descriptor Sorig bit // indexing origin (0 or 1) Salgn bit // alignment flag (0 or 1) Sro bit // read-only flag (0 or 1) blank bit // padding Styp bit 4 // type number blank byte 3 // = ptr to first data word Slength word // # of elements Soffst word // offset of first element from base ] structure ConsCell: [ Qfield byte = [ ibit bit 1 dfield bit 7 ] ] (1792) manifest // address space constants used by ShowRealCore [ MDSLo = #1 MDSHi = #15 PncLo = #30 PncHi = #37 ArrayLo = #40 ArrayHi = #72 GCMainspace = #73 GCCollspace = #74 ]