🚀 go-pugleaf

RetroBBS NetNews Server

Inspired by RockSolid Light RIP Retro Guy

Article View: gnu.emacs.bug
Article #99028

Mark Bits on HP-9000s800

#99028
From: Alan M. Carroll
Date: Mon, 26 Nov 1990 17:00
24 lines
1934 bytes
We've had some trouble with Epoch on HP9000s800's, and I tracked it down to the
following defines in m-hp9000s800.h, which are identical to the ones in GNU
Emacs 18.55:

#define XMARKBIT(a) ((a) < 0)
#define XSETMARKBIT(a,b) ((a) = ((b) ? (a)|MARKBIT : (a) & ~MARKBIT))
#define XUNMARK(a) ((a) = (((a) << INTBITS-GCTYPEBITS-VALBITS) >> \
                           INTBITS-GCTYPEBITS-VALBITS))


In addition, GCTYPEBITS is set to 5. What happens is that under Epoch, the
top bit of the TYPE field can be 1 (because Epoch has more types than GNU
Emacs). This bit gets left shifted to the top bit position, and then the
right shift leaves the top bit (the GC mark bit) set, so that XUNMARK()
does not actually unmark objects with type > 15.

What I'd like to know is, why are the macros defined this way? The comments
claim that these are faster, but I find it difficult to believe that 2 shifts
are faster than 1 mask on any architecture. Would getting rid of these
defines and just using the defaults be a problem?
-- 
Alan M. Carroll                "It's psychosomatic. You need a lobotomy,
Epoch Development Team          I'll get a saw."
CS Grad / U of Ill @ Urbana    ...{ucbvax,pur-ee,convex}!cs.uiuc.edu!carroll
Technical Details
Message-ID: <1990Nov26.170046.19002@ux1.cso.uiuc.edu>
Path: arc1-ca.pugleaf.net!gmdzi!unido!mcsun!uunet!tut.cis.ohio-state.edu!CS.UIUC.EDU!carroll

Show Full Headers
Complete Article Headers
X-Google-Language: ENGLISH,ASCII-7-bit
X-Google-Thread: fb2f1,c7e58105da34859d,start
X-Google-Attributes: gidfb2f1,public
X-Google-ArrivalTime: 1990-11-26 09:00:46 PST
Path: arc1-ca.pugleaf.net!gmdzi!unido!mcsun!uunet!tut.cis.ohio-state.edu!CS.UIUC.EDU!carroll
From: carroll@CS.UIUC.EDU (Alan M. Carroll)
Newsgroups: gnu.emacs.bug
Subject: Mark Bits on HP-9000s800
Message-ID: <1990Nov26.170046.19002@ux1.cso.uiuc.edu>
Date: 26 Nov 90 17:00:46 GMT
Sender: daemon@tut.cis.ohio-state.edu
Reply-To: carroll@cs.uiuc.edu (Alan M. Carroll)
Distribution: gnu
Organization: Technophiles Inc. - Engineers with Attitude
Lines: 24
Approved: bug-gnu-emacs@prep.ai.mit.edu
Posted: Mon Nov 26 18:00:46 1990