|
DataMuseum.dkPresents historical artifacts from the history of: DKUUG/EUUG Conference tapes |
This is an automatic "excavation" of a thematic subset of
See our Wiki for more about DKUUG/EUUG Conference tapes Excavated with: AutoArchaeologist - Free & Open Source Software. |
top - metrics - downloadIndex: T f
Length: 4867 (0x1303) Types: TextFile Names: »fixobj.h«
└─⟦a0efdde77⟧ Bits:30001252 EUUGD11 Tape, 1987 Spring Conference Helsinki └─⟦this⟧ »EUUGD11/gnu-31mar87/scheme/microcode/fixobj.h«
/* Emacs, -*-C-*-an't you guess? */ /**************************************************************** * * * Copyright (c) 1986 * * Massachusetts Institute of Technology * * * * This material was developed by the Scheme project at the * * Massachusetts Institute of Technology, Department of * * Electrical Engineering and Computer Science. Permission to * * copy this software, to redistribute it, and to use it for any * * purpose is granted, subject to the following restrictions and * * understandings. * * * * 1. Any copy made of this software must include this copyright * * notice in full. * * * * 2. Users of this software agree to make their best efforts (a)* * to return to the MIT Scheme project any improvements or * * extensions that they make, so that these may be included in * * future releases; and (b) to inform MIT of noteworthy uses of * * this software. * * * * 3. All materials developed as a consequence of the use of * * this software shall duly acknowledge such use, in accordance * * with the usual standards of acknowledging credit in academic * * research. * * * * 4. MIT has made no warrantee or representation that the * * operation of this software will be error-free, and MIT is * * under no obligation to provide any services, by way of * * maintenance, update, or otherwise. * * * * 5. In conjunction with products arising from the use of this * * material, there shall be no use of the name of the * * Massachusetts Institute of Technology nor of any adaptation * * thereof in any advertising, promotional, or sales literature * * without prior written consent from MIT in each case. * * * ****************************************************************/ /* File: FIXOBJ.H * * Declarations of user offsets into the Fixed Objects Vector. * This should correspond to the file UTABMD.SCM */ \f #ifndef Get_Fixed_Obj_Slot extern Pointer Fixed_Objects; #define Get_Fixed_Obj_Slot(N) Fast_User_Vector_Ref(Fixed_Objects, N) #define Set_Fixed_Obj_Slot(N,S) Fast_User_Vector_Set(Fixed_Objects, N, S) #define Update_FObj_Slot(N, S) Set_Fixed_Obj_Slot(N, S) #define Declare_Fixed_Objects() Pointer Fixed_Objects; #define Valid_Fixed_Obj_Vector() \ (Type_Code(Fixed_Objects) == TC_VECTOR) #define Save_Fixed_Obj(Save_FO) \ Save_FO = Fixed_Objects; \ Fixed_Objects = NIL; #define Restore_Fixed_Obj(Save_FO) \ Fixed_Objects = Save_FO #endif #define Non_Object 0x00 /* Value for UNBOUND variables */ #define System_Interrupt_Vector 0x01 /* Handlers for interrups */ #define System_Error_Vector 0x02 /* Handlers for errors */ #define OBArray 0x03 /* Array for interning symbols */ #define Types_Vector 0x04 /* Type number -> Name map */ #define Returns_Vector 0x05 /* Return code -> Name map */ #define Primitives_Vector 0x06 /* Primitive code -> Name map */ #define Errors_Vector 0x07 /* Error code -> Name map */ #define Hash_Number 0x08 /* Next number for hashing */ #define Hash_Table 0x09 /* Table for hashing objects */ #define Unhash_Table 0x0A /* Inverse hash table */ #define GC_Daemon 0x0B /* Procedure to run after GC */ #define Stack_Overflow 0x0C /* Stack overflow at GC flag */ #define Open_Files 0x0D /* List of open files */ #define Stepper_State 0x0E /* NOT IMPLEMENTED YET */ #define Fixed_Objects_Slots 0x0F /* Names of these slots */ #define External_Primitives 0x10 /* Names of external prims */ #define State_Space_Tag 0x11 /* Tag for state spaces */ #define State_Point_Tag 0x12 /* Tag for state points */ #define Dummy_History 0x13 /* Empty history structure */ #define Bignum_One 0x14 /* Cache for bignum one */ #define System_Scheduler 0x15 /* Scheduler for touched futures */ #define Termination_Vector 0x16 /* Names for terminations */ #define Termination_Proc_Vector 0x17 /* Handlers for terminations */ #define Me_Myself 0x18 /* The actual shared vector */ /* The next slot is used only in multiprocessor mode */ #define The_Work_Queue 0x19 /* Where work is stored */ #define NFixed_Objects 0x1A