Xref: utzoo comp.lang.c:24901 gnu.emacs.bug:1485 comp.emacs:7524 Path: utzoo!utgpu!jarvis.csri.toronto.edu!clyde.concordia.ca!uunet!bu.edu!bu-cs!snorkelwacker!think!zaphod.mps.ohio-state.edu!usc!ucsd!ucbvax!bloom-beacon!eru!luth!sunic!mcsun!ukc!edcastle!aiai!richard From: richard@aiai.ed.ac.uk (Richard Tobin) Newsgroups: comp.lang.c,gnu.emacs.bug,comp.emacs Subject: Re: GNU Emacs, memory usage, releasing Message-ID: <1508@skye.ed.ac.uk> Date: 5 Jan 90 17:00:31 GMT References: <1558@aber-cs.UUCP> <32534@news.Think.COM> <1990Jan2.151615.19098@talos.uu.net> <1990Jan3.151427.12532@ux1.cso.uiuc.edu> Reply-To: richard@aiai.UUCP (Richard Tobin) Organization: AIAI, University of Edinburgh, Scotland Lines: 21 In article <1990Jan3.151427.12532@ux1.cso.uiuc.edu> mcdonald@aries.scs.uiuc.edu (Doug McDonald) writes: > This seems to me to be disgusting. Why not just define these > "things" (the pointer with 8 bits of something else stuck in somewhere) > as > > struct THING { > char * ptr; > char tag; > } Because this will typically make each THING take up twice as much space, which is often unacceptable. If portability is more of a concern than speed, one approach is to use bitfields and treat the "address" as an array subscript. -- Richard -- Richard Tobin, JANET: R.Tobin@uk.ac.ed AI Applications Institute, ARPA: R.Tobin%uk.ac.ed@nsfnet-relay.ac.uk Edinburgh University. UUCP: ...!ukc!ed.ac.uk!R.Tobin