From: Daniel Colascione <dancol@dancol.org>
To: Stefan Monnier <monnier@iro.umontreal.ca>
Cc: "Eric S. Raymond" <esr@thyrsus.com>,
stephen@xemacs.org, Emacs developers <emacs-devel@gnu.org>
Subject: Re: Time to drop the pre-dump phase in the build?
Date: Fri, 10 Jan 2014 19:37:32 -0800 [thread overview]
Message-ID: <52D0BC7C.2000700@dancol.org> (raw)
In-Reply-To: <jwvtxdb2pjr.fsf-monnier+emacs@gnu.org>
On 01/10/2014 06:58 PM, Stefan Monnier wrote:
>>>> That's why the XEmacs portable dumper is better than the current Emacs
>>>> setup.
>>> Right, a portable dumper would be nice to have.
>>> Tho I don't know enough of the details to know what are the downsides
>>> (e.g. does it require relocation? If so that means the file can't just
>>> be mmap'd read-only and shared between processes, right?).
>> If I'm reading the XEmacs Internals documentation properly, pdump *may*
>> require relocation, but not if the offset at which the dumpfile is loaded
>> happens to match the offset at which it's loaded. That's about as good as
>> you can ask for.
>
> Which begs the question: when is it the case that the offset matches?
> Can we assume it to be the common case?
Someone who actually uses XEmacs can probably provide better commentary
(+ Stephen), but I imagine that in a 64-bit address space, you'll pretty
likely be able to map the dump file in the same place every time. On a
32-bit system with ASLR, maybe not as often. Cygwin has similar problems
involving fork.
Another possibility is to just allocate enough space in the emacs image
itself in BSS, then replace that mapping with a view of the dump file.
(This way, we always map the dump file at the same place relative to the
emacs image base). Or we can make the dump file a section in the image,
but at that point, we're starting to talk about portability problems again.
By the way: is it me, or are we dirtying far too much of the current
emacs image? On my Emacs, we're dirtying (and COWing) 8MB; if I make
Fgarbage_collect a no-op, that drops to 4MB.
next prev parent reply other threads:[~2014-01-11 3:37 UTC|newest]
Thread overview: 25+ messages / expand[flat|nested] mbox.gz Atom feed top
2014-01-10 19:15 Time to drop the pre-dump phase in the build? Eric S. Raymond
2014-01-10 19:49 ` Eli Zaretskii
2014-01-11 6:16 ` Paul Eggert
2014-01-11 7:17 ` Richard Stallman
2014-01-12 0:16 ` Nix
2014-01-12 3:48 ` Eli Zaretskii
2014-01-12 3:53 ` Eric S. Raymond
2014-01-11 7:17 ` Richard Stallman
2014-01-10 19:51 ` Stefan Monnier
2014-01-10 20:09 ` Eric S. Raymond
2014-01-10 20:13 ` Eli Zaretskii
2014-01-10 20:20 ` Barry Warsaw
2014-01-10 20:30 ` Eli Zaretskii
2014-01-10 21:06 ` Barry Warsaw
2014-01-10 22:19 ` Daniel Colascione
2014-01-10 22:58 ` David Kastrup
2014-01-11 0:05 ` Daniel Colascione
2014-01-10 23:23 ` Stefan Monnier
2014-01-11 0:07 ` Daniel Colascione
2014-01-11 2:58 ` Stefan Monnier
2014-01-11 3:37 ` Daniel Colascione [this message]
2014-01-11 5:13 ` Stefan Monnier
2014-01-11 5:30 ` Daniel Colascione
2014-01-11 16:14 ` Stephen J. Turnbull
2014-01-11 20:13 ` Glenn Morris
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
List information: https://www.gnu.org/software/emacs/
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=52D0BC7C.2000700@dancol.org \
--to=dancol@dancol.org \
--cc=emacs-devel@gnu.org \
--cc=esr@thyrsus.com \
--cc=monnier@iro.umontreal.ca \
--cc=stephen@xemacs.org \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
Code repositories for project(s) associated with this public inbox
https://git.savannah.gnu.org/cgit/emacs.git
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for read-only IMAP folder(s) and NNTP newsgroup(s).