Article View: gnu.emacs.bug
Article #99028Mark Bits on HP-9000s800
From: Alan M. Carroll
Date: Mon, 26 Nov 1990 17:00
Date: Mon, 26 Nov 1990 17:00
24 lines
1934 bytes
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!carrollShow 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