From: Stephen Adams Date: Thu, 27 Jul 1995 00:27:08 +0000 (+0000) Subject: New type-codes. X-Git-Tag: 20090517-FFI~6129 X-Git-Url: https://birchwood-abbey.net/git?a=commitdiff_plain;h=5015f6724ea350bd94c47d83e131e8c204352b29;p=mit-scheme.git New type-codes. --- diff --git a/v8/src/microcode/types.h b/v8/src/microcode/types.h index e44b9dad1..476342449 100644 --- a/v8/src/microcode/types.h +++ b/v8/src/microcode/types.h @@ -1,6 +1,6 @@ /* -*-C-*- -$Id: types.h,v 9.34 1993/03/01 19:41:18 arthur Exp $ +$Id: types.h,v 9.35 1995/07/27 00:27:08 adams Exp $ Copyright (c) 1987-92 Massachusetts Institute of Technology @@ -32,79 +32,79 @@ Technology nor of any adaptation thereof in any advertising, promotional, or sales literature without prior written consent from MIT in each case. */ -/* Type code definitions, numerical order */ +/* Type code definitions, alphabetical order */ -/* Name Value Previous Name */ - -#define TC_NULL 0x00 -#define TC_LIST 0x01 -#define TC_CHARACTER 0x02 -#define TC_SCODE_QUOTE 0x03 -#define TC_PCOMB2 0x04 -#define TC_UNINTERNED_SYMBOL 0x05 -#define TC_BIG_FLONUM 0x06 -#define TC_COMBINATION_1 0x07 -#define TC_TRUE 0x08 -#define TC_EXTENDED_PROCEDURE 0x09 -#define TC_VECTOR 0x0A -#define TC_RETURN_CODE 0x0B -#define TC_COMBINATION_2 0x0C -#define TC_MANIFEST_CLOSURE 0x0D -#define TC_BIG_FIXNUM 0x0E -#define TC_PROCEDURE 0x0F -#define TC_ENTITY 0x10 /* PRIMITIVE_EXTERNAL */ -#define TC_DELAY 0x11 -#define TC_ENVIRONMENT 0x12 -#define TC_DELAYED 0x13 -#define TC_EXTENDED_LAMBDA 0x14 -#define TC_COMMENT 0x15 -#define TC_NON_MARKED_VECTOR 0x16 -#define TC_LAMBDA 0x17 -#define TC_PRIMITIVE 0x18 -#define TC_SEQUENCE_2 0x19 -#define TC_FIXNUM 0x1A -#define TC_PCOMB1 0x1B -#define TC_CONTROL_POINT 0x1C -#define TC_INTERNED_SYMBOL 0x1D -#define TC_CHARACTER_STRING 0x1E -#define TC_ACCESS 0x1F -#define TC_HUNK3_A 0x20 /* EXTENDED_FIXNUM */ -#define TC_DEFINITION 0x21 -#define TC_BROKEN_HEART 0x22 -#define TC_ASSIGNMENT 0x23 -#define TC_HUNK3_B 0x24 -#define TC_IN_PACKAGE 0x25 -#define TC_COMBINATION 0x26 -#define TC_MANIFEST_NM_VECTOR 0x27 -#define TC_COMPILED_ENTRY 0x28 -#define TC_LEXPR 0x29 -#define TC_PCOMB3 0x2A -#define TC_MANIFEST_SPECIAL_NM_VECTOR 0x2B -#define TC_VARIABLE 0x2C -#define TC_THE_ENVIRONMENT 0x2D -#define TC_FUTURE 0x2E -#define TC_VECTOR_1B 0x2F -#define TC_PCOMB0 0x30 -#define TC_VECTOR_16B 0x31 -#define TC_REFERENCE_TRAP 0x32 /* UNASSIGNED */ -#define TC_SEQUENCE_3 0x33 -#define TC_CONDITIONAL 0x34 -#define TC_DISJUNCTION 0x35 -#define TC_CELL 0x36 -#define TC_WEAK_CONS 0x37 -#define TC_QUAD 0x38 /* TRAP */ -#define TC_LINKAGE_SECTION 0x39 -#define TC_RATNUM 0x3A /* COMPILER_LINK */ -#define TC_STACK_ENVIRONMENT 0x3B -#define TC_COMPLEX 0x3C -#define TC_COMPILED_CODE_BLOCK 0x3D -#define TC_RECORD 0x3E +/* Name Value */ +#define TC_ACCESS 0x2C +#define TC_ASSIGNMENT 0x3C +#define TC_BIG_FIXNUM 0x1 +#define TC_BIG_FLONUM 0x3E +#define TC_BROKEN_HEART 0x11 +#define TC_CELL 0xB +#define TC_CHARACTER 0x7 +#define TC_CHARACTER_STRING 0x1A +#define TC_COMBINATION 0x33 +#define TC_COMBINATION_1 0x34 +#define TC_COMBINATION_2 0x35 +#define TC_COMMENT 0x29 +#define TC_COMPILED_CODE_BLOCK 0x1D +#define TC_COMPILED_ENTRY 0x10 +#define TC_COMPLEX 0x3 +#define TC_CONDITIONAL 0x31 +#define TC_CONSTANT 0x8 +#define TC_CONTROL_POINT 0x1F +#define TC_DEFINITION 0x3B +#define TC_DELAY 0x3A +#define TC_DELAYED 0x26 +#define TC_DISJUNCTION 0x32 +#define TC_ENTITY 0x24 +#define TC_ENVIRONMENT 0x25 +#define TC_EXTENDED_LAMBDA 0x2E +#define TC_EXTENDED_PROCEDURE 0x22 +#define TC_FUTURE 0x27 +#define TC_HUNK3_A 0x12 +#define TC_HUNK3_B 0x13 +#define TC_INTERNED_SYMBOL 0xF +#define TC_IN_PACKAGE 0x28 +#define TC_LAMBDA 0x2D +#define TC_LEXPR 0x23 +#define TC_LINKAGE_SECTION 0x1E +#define TC_LIST 0xC +#define TC_MANIFEST_CLOSURE 0xA +#define TC_MANIFEST_NM_VECTOR 0x6 +#define TC_MANIFEST_SPECIAL_NM_VECTOR 0x15 +#define TC_NEGATIVE_FIXNUM 0x3F +#define TC_NON_MARKED_VECTOR 0x16 +#define TC_NULL 0x5 +#define TC_PCOMB0 0x36 +#define TC_PCOMB1 0x37 +#define TC_PCOMB2 0x38 +#define TC_PCOMB3 0x39 +#define TC_POSITIVE_FIXNUM 0x0 +#define TC_PRIMITIVE 0x9 +#define TC_PROCEDURE 0x21 +#define TC_QUAD 0x14 +#define TC_RATNUM 0x2 +#define TC_RECORD 0x18 +#define TC_REFERENCE_TRAP 0x1C +#define TC_RETURN_CODE 0x4 +#define TC_SCODE_QUOTE 0x2A +#define TC_SEQUENCE_2 0x2F +#define TC_SEQUENCE_3 0x30 +#define TC_STACK_ENVIRONMENT 0x20 +#define TC_THE_ENVIRONMENT 0x3D +#define TC_UNINTERNED_SYMBOL 0xE +#define TC_VARIABLE 0x2B +#define TC_VECTOR 0x17 +#define TC_VECTOR_16B 0x1B +#define TC_VECTOR_1B 0x19 +#define TC_WEAK_CONS 0xD /* If you add a new type, don't forget to update gccode.h, gctype.c, and the type name table below. */ -#define LAST_TYPE_CODE 0x3E -#define MIN_TYPE_CODE_LENGTH 6 +#define LAST_TYPE_CODE 0x3F +#define MIN_TYPE_CODE_LENGTH 6 #ifdef TYPE_CODE_LENGTH #if (TYPE_CODE_LENGTH < MIN_TYPE_CODE_LENGTH) @@ -112,71 +112,72 @@ MIT in each case. */ #endif #endif -#define TYPE_NAME_TABLE \ -{ \ - /* 0x00 */ "NULL", \ - /* 0x01 */ "LIST", \ - /* 0x02 */ "CHARACTER", \ - /* 0x03 */ "SCODE-QUOTE", \ - /* 0x04 */ "PCOMB2", \ - /* 0x05 */ "UNINTERNED-SYMBOL", \ - /* 0x06 */ "BIG-FLONUM", \ - /* 0x07 */ "COMBINATION-1", \ - /* 0x08 */ "TRUE", \ - /* 0x09 */ "EXTENDED-PROCEDURE", \ - /* 0x0A */ "VECTOR", \ - /* 0x0B */ "RETURN-CODE", \ - /* 0x0C */ "COMBINATION-2", \ - /* 0x0D */ "MANIFEST-CLOSURE", \ - /* 0x0E */ "BIG-FIXNUM", \ - /* 0x0F */ "PROCEDURE", \ - /* 0x10 */ "ENTITY", \ - /* 0x11 */ "DELAY", \ - /* 0x12 */ "ENVIRONMENT", \ - /* 0x13 */ "DELAYED", \ - /* 0x14 */ "EXTENDED-LAMBDA", \ - /* 0x15 */ "COMMENT", \ - /* 0x16 */ "NON-MARKED-VECTOR", \ - /* 0x17 */ "LAMBDA", \ - /* 0x18 */ "PRIMITIVE", \ - /* 0x19 */ "SEQUENCE-2", \ - /* 0x1A */ "FIXNUM", \ - /* 0x1B */ "PCOMB1", \ - /* 0x1C */ "CONTROL-POINT", \ - /* 0x1D */ "INTERNED-SYMBOL", \ - /* 0x1E */ "CHARACTER-STRING", \ - /* 0x1F */ "ACCESS", \ - /* 0x20 */ "HUNK3-A", \ - /* 0x21 */ "DEFINITION", \ - /* 0x22 */ "BROKEN-HEART", \ - /* 0x23 */ "ASSIGNMENT", \ - /* 0x24 */ "HUNK3-B", \ - /* 0x25 */ "IN-PACKAGE", \ - /* 0x26 */ "COMBINATION", \ - /* 0x27 */ "MANIFEST-NM-VECTOR", \ - /* 0x28 */ "COMPILED-ENTRY", \ - /* 0x29 */ "LEXPR", \ - /* 0x2A */ "PCOMB3", \ - /* 0x2B */ "MANIFEST-SPECIAL-NM-VECTOR", \ - /* 0x2C */ "VARIABLE", \ - /* 0x2D */ "THE-ENVIRONMENT", \ - /* 0x2E */ "FUTURE", \ - /* 0x2F */ "VECTOR-1B", \ - /* 0x30 */ "PCOMB0", \ - /* 0x31 */ "VECTOR-16B", \ - /* 0x32 */ "REFERENCE-TRAP", \ - /* 0x33 */ "SEQUENCE-3", \ - /* 0x34 */ "CONDITIONAL", \ - /* 0x35 */ "DISJUNCTION", \ - /* 0x36 */ "CELL", \ - /* 0x37 */ "WEAK-CONS", \ - /* 0x38 */ "QUAD", \ - /* 0x39 */ "LINKAGE-SECTION", \ - /* 0x3A */ "RATNUM", \ - /* 0x3B */ "STACK-ENVIRONMENT", \ - /* 0x3C */ "COMPLEX", \ - /* 0x3D */ "COMPILED-CODE-BLOCK", \ - /* 0x3E */ "RECORD" \ +#define TYPE_NAME_TABLE \ +{ /* 8bit 6bit */\ + /* 0x00 0x00 */ "POSITIVE-FIXNUM",\ + /* 0x01 0x04 */ "BIGNUM",\ + /* 0x02 0x08 */ "RATNUM",\ + /* 0x03 0x0C */ "RECNUM",\ + /* 0x04 0x10 */ "RETURN-CODE",\ + /* 0x05 0x14 */ "NULL",\ + /* 0x06 0x18 */ "MANIFEST-NM-VECTOR",\ + /* 0x07 0x1C */ "CHARACTER",\ + /* 0x08 0x20 */ "CONSTANT",\ + /* 0x09 0x24 */ "PRIMITIVE",\ + /* 0x0A 0x28 */ "MANIFEST-CLOSURE",\ + /* 0x0B 0x2C */ "CELL",\ + /* 0x0C 0x30 */ "PAIR",\ + /* 0x0D 0x34 */ "WEAK-CONS",\ + /* 0x0E 0x38 */ "UNINTERNED-SYMBOL",\ + /* 0x0F 0x3C */ "INTERNED-SYMBOL",\ + /* 0x10 0x40 */ "COMPILED-ENTRY",\ + /* 0x11 0x44 */ "BROKEN-HEART",\ + /* 0x12 0x48 */ "HUNK3-A",\ + /* 0x13 0x4C */ "TRIPLE",\ + /* 0x14 0x50 */ "QUAD",\ + /* 0x15 0x54 */ "MANIFEST-SPECIAL-NM-VECTOR",\ + /* 0x16 0x58 */ "NON-MARKED-VECTOR",\ + /* 0x17 0x5C */ "VECTOR",\ + /* 0x18 0x60 */ "RECORD",\ + /* 0x19 0x64 */ "VECTOR-1B",\ + /* 0x1A 0x68 */ "STRING",\ + /* 0x1B 0x6C */ "VECTOR-16B",\ + /* 0x1C 0x70 */ "REFERENCE-TRAP",\ + /* 0x1D 0x74 */ "COMPILED-CODE-BLOCK",\ + /* 0x1E 0x78 */ "LINKAGE-SECTION",\ + /* 0x1F 0x7C */ "CONTROL-POINT",\ + /* 0x20 0x80 */ "STACK-ENVIRONMENT",\ + /* 0x21 0x84 */ "PROCEDURE",\ + /* 0x22 0x88 */ "EXTENDED-PROCEDURE",\ + /* 0x23 0x8C */ "LEXPR",\ + /* 0x24 0x90 */ "ENTITY",\ + /* 0x25 0x94 */ "ENVIRONMENT",\ + /* 0x26 0x98 */ "PROMISE",\ + /* 0x27 0x9C */ "FUTURE",\ + /* 0x28 0xA0 */ "IN-PACKAGE",\ + /* 0x29 0xA4 */ "COMMENT",\ + /* 0x2A 0xA8 */ "QUOTATION",\ + /* 0x2B 0xAC */ "VARIABLE",\ + /* 0x2C 0xB0 */ "ACCESS",\ + /* 0x2D 0xB4 */ "LAMBDA",\ + /* 0x2E 0xB8 */ "EXTENDED-LAMBDA",\ + /* 0x2F 0xBC */ "SEQUENCE-2",\ + /* 0x30 0xC0 */ "SEQUENCE-3",\ + /* 0x31 0xC4 */ "CONDITIONAL",\ + /* 0x32 0xC8 */ "DISJUNCTION",\ + /* 0x33 0xCC */ "COMBINATION",\ + /* 0x34 0xD0 */ "COMBINATION-1",\ + /* 0x35 0xD4 */ "COMBINATION-2",\ + /* 0x36 0xD8 */ "PRIMITIVE-COMBINATION-0",\ + /* 0x37 0xDC */ "PRIMITIVE-COMBINATION-1",\ + /* 0x38 0xE0 */ "PRIMITIVE-COMBINATION-2",\ + /* 0x39 0xE4 */ "PRIMITIVE-COMBINATION-3",\ + /* 0x3A 0xE8 */ "DELAY",\ + /* 0x3B 0xEC */ "DEFINITION",\ + /* 0x3C 0xF0 */ "ASSIGNMENT",\ + /* 0x3D 0xF4 */ "THE-ENVIRONMENT",\ + /* 0x3E 0xF8 */ "FLONUM",\ + /* 0x3F 0xFC */ "NEGATIVE-FIXNUM"\ } /* Flags and aliases */ @@ -187,12 +188,14 @@ MIT in each case. */ /* Aliases */ -#define TC_FALSE TC_NULL -#define TC_MANIFEST_VECTOR TC_NULL -#define GLOBAL_ENV TC_NULL -#define TC_BIT_STRING TC_VECTOR_1B -#define TC_VECTOR_8B TC_CHARACTER_STRING -#define TC_HUNK3 TC_HUNK3_B +#define TC_FALSE TC_NULL +#define TC_MANIFEST_VECTOR TC_NULL +#define TC_BIT_STRING TC_VECTOR_1B +#define TC_VECTOR_8B TC_CHARACTER_STRING +#define TC_HUNK3 TC_HUNK3_B +#ifndef TC_NEGATIVE_FIXNUM +#define TC_NEGATIVE_FIXNUM TC_POSITIVE_FIXNUM +#endif -#define UNMARKED_HISTORY_TYPE TC_HUNK3_A -#define MARKED_HISTORY_TYPE TC_HUNK3_B +#define UNMARKED_HISTORY_TYPE TC_HUNK3_A +#define MARKED_HISTORY_TYPE TC_HUNK3_B