unofficial mirror of emacs-devel@gnu.org 
 help / color / mirror / code / Atom feed
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.



  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).