From: Stephen Adams Date: Wed, 26 Jul 1995 23:27:53 +0000 (+0000) Subject: Changed for split fixnum tags. X-Git-Tag: 20090517-FFI~6142 X-Git-Url: https://birchwood-abbey.net/git?a=commitdiff_plain;h=2e8ea6bebae8f179ab78001220033745e4522ddf;p=mit-scheme.git Changed for split fixnum tags. --- diff --git a/v7/src/microcode/gccode.h b/v7/src/microcode/gccode.h index 268ded7dd..914a1ec3c 100644 --- a/v7/src/microcode/gccode.h +++ b/v7/src/microcode/gccode.h @@ -1,6 +1,6 @@ /* -*-C-*- -$Id: gccode.h,v 9.53 1993/12/07 20:36:00 gjr Exp $ +$Id: gccode.h,v 9.54 1995/07/26 23:27:53 adams Exp $ Copyright (c) 1987-1993 Massachusetts Institute of Technology @@ -52,14 +52,22 @@ MIT in each case. */ #define case_simple_Non_Pointer \ case TC_NULL: \ - case TC_TRUE: \ + case TC_CONSTANT: \ case TC_RETURN_CODE: \ case TC_THE_ENVIRONMENT +#if (TC_POSITIVE_FIXNUM != TC_NEGATIVE_FIXNUM) #define case_Fasload_Non_Pointer \ - case TC_FIXNUM: \ + case TC_POSITIVE_FIXNUM: \ + case TC_NEGATIVE_FIXNUM: \ case TC_CHARACTER: \ case_simple_Non_Pointer +#else +#define case_Fasload_Non_Pointer \ + case TC_POSITIVE_FIXNUM: \ + case TC_CHARACTER: \ + case_simple_Non_Pointer +#endif #define case_Non_Pointer \ case TC_PRIMITIVE: \ @@ -414,6 +422,21 @@ extern void EXFUN (check_transport_vector_lossage, } \ } +#define CHECK_TRANSPORT_VECTOR_TERMINATION() \ +{ \ + if (! ((To <= Scan) \ + && (((Constant_Space <= To) && (To < Heap_Bottom)) \ + ? ((Constant_Space <= Scan) && (Scan < Heap_Bottom)) \ + : ((Heap_Bottom <= Scan) && (Scan < Heap_Top))))) \ + check_transport_vector_lossage (Scan, Saved_Scan, To); \ + if ((OBJECT_DATUM (*Old)) > 65536) \ + { \ + outf_error ("\nWarning: copying large vector: %d\n", \ + (OBJECT_DATUM (*Old))); \ + outf_flush_error (); \ + } \ +} + #else /* not ENABLE_GC_DEBUGGING_TOOLS */ #define CHECK_TRANSPORT_VECTOR_TERMINATION() @@ -502,6 +525,8 @@ Move_Vector: \ extern SCHEME_OBJECT Weak_Chain; +#define EMPTY_WEAK_CHAIN (OBJECT_NEW_TYPE(TC_NULL, 0)) + #define Transport_Weak_Cons() \ { \ long Car_Type = (OBJECT_TYPE (*Old)); \