* repesentation of lisp fixnums, and max buffer size
@ 2004-05-14 20:52 Paul Rubin
0 siblings, 0 replies; only message in thread
From: Paul Rubin @ 2004-05-14 20:52 UTC (permalink / raw)
As memory gets cheaper, the 128 meg buffer size limit gets to be more
and more of a pain. Most laptop computers nowadays can accept 2 GB
and to run a reasonable Gnome desktop takes at least 384 MB. And it's
quite usual to build up files (say net archives or web server logs)
that are way over 128MB.
I wonder if any thought is being given to reworking Emacs Lisp to put
the type tag for heap data into the heap itself, using just one bit to
indicate whether the object is a fixnum or a heap pointer. It's been
a long time since I looked at the Emacs Lisp code but as I remember,
just about all the access went through a few macros, that would have
to be redefined, plus some fairly well encapsulated functions like the
GC would have to be modified. I don't think there was any other kind
of immediate data than fixnums, but even if there were, 2 tag bits are
probably enough. So the modifications wouldn't be all that hard.
Using 1 or 2 bits out of 32 would still create a buffer size
limitation, but it would be considerably relaxed from the current
128MB limit.
Is it realistic to hope for this in a forthcoming release?
Failing that, does anyone know, if I go out and buy an Athlon-64
computer today, are there Emacs and GCC versions for it that would let
me compile Emacs to use 64 bit ints and pointers?
Thanks.
^ permalink raw reply [flat|nested] only message in thread
only message in thread, other threads:[~2004-05-14 20:52 UTC | newest]
Thread overview: (only message) (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2004-05-14 20:52 repesentation of lisp fixnums, and max buffer size Paul Rubin
Code repositories for project(s) associated with this external index
https://git.savannah.gnu.org/cgit/emacs.git
https://git.savannah.gnu.org/cgit/emacs/org-mode.git
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.