emacs-devel
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: Dumper problems and a possible solutions


From: Dmitry Antipov
Subject: Re: Dumper problems and a possible solutions
Date: Wed, 25 Jun 2014 22:03:36 +0400
User-agent: Mozilla/5.0 (X11; Linux x86_64; rv:24.0) Gecko/20100101 Thunderbird/24.6.0

On 06/24/2014 09:19 PM, Rich Felker wrote:

To solve ALL of the problems with the dumper (which seems to be a
recurring theme), I have a proposed design to make it fully portable
-- even moreso than xemacs "portable dumper" which is still an ugly
hack. The idea is simple: after loading all of the lisp objects that
need dumping, walk the lisp heap and output a representation for each
object as a giant static array in C source format, then compile and
link this new translation unit with the rest of the emacs .o files to
produce a final emacs binary.

What about non-Lisp objects?

It's not too hard to walk through live (reachable) Lisp objects - this
is exactly what GC mark phase does. It's not too hard to walk through
all allocated Lisp objects - this is exactly what GC sweep phase does.
But what about lower-level stuff allocated with malloc at invisible
from Lisp? Of course, you can do your own serialization for these objects
as well - but only if you know about their internal structure. What about
stuff allocated by some external library? In general, you can't parse heap
(i.e. looking at object, you can't say where the next object is, what is the
type of next object, etc.). IIUC, "totally portable" heap dumper is impossible
without having a description of each possible heap object and ability to
distinguish between different types of objects.

Dmitry




reply via email to

[Prev in Thread] Current Thread [Next in Thread]