From a5545bcd010b6eb92693394a116c577d7d92daa4 Mon Sep 17 00:00:00 2001 From: Stephen Adams Date: Thu, 27 Jul 1995 00:22:16 +0000 Subject: [PATCH] Arrange that GLOBAL_ENV is #F and END_OF_CHAIN is different for any representation choice of #F. --- v7/src/microcode/sdata.h | 13 +++++++++---- 1 file changed, 9 insertions(+), 4 deletions(-) diff --git a/v7/src/microcode/sdata.h b/v7/src/microcode/sdata.h index 6667a55d0..18722792d 100644 --- a/v7/src/microcode/sdata.h +++ b/v7/src/microcode/sdata.h @@ -30,7 +30,7 @@ Technology nor of any adaptation thereof in any advertising, promotional, or sales literature without prior written consent from MIT in each case. */ -/* $Id: sdata.h,v 9.32 1993/06/24 07:09:46 gjr Exp $ +/* $Id: sdata.h,v 9.33 1995/07/27 00:22:16 adams Exp $ * * Description of the user data objects. This should parallel the * file SDATA.SCM in the runtime system. @@ -212,10 +212,15 @@ MIT in each case. */ /* An environment chain always ends in a pointer with type code of GLOBAL_ENV. This will contain an address part which either indicates that the lookup should continue on to the - true global environment, or terminate at this frame. */ + true global environment, or terminate at this frame. -#define GO_TO_GLOBAL 0 -#define END_OF_CHAIN 1 + We arrange for the global environment to be the same as #F, and the + end chain to be different by toggling the lowest bit: + */ + +#define GLOBAL_ENV (OBJECT_TYPE(SHARP_F)) +#define GO_TO_GLOBAL (OBJECT_DATUM(SHARP_F)) +#define END_OF_CHAIN ((GO_TO_GLOBAL) ^ 1) /* Environment extension objects: -- 2.25.1