unofficial mirror of emacs-devel@gnu.org 
 help / color / mirror / code / Atom feed
* make bootstrap
@ 2014-03-03  9:25 Fabrice Popineau
  2014-03-03  9:52 ` David Kastrup
  2014-03-03  9:56 ` Andreas Schwab
  0 siblings, 2 replies; 5+ messages in thread
From: Fabrice Popineau @ 2014-03-03  9:25 UTC (permalink / raw)
  To: emacs-devel

I was trying to squeez as much as possible the data to be dumped.
While doing this I noticed that to be able to 'make bootstrap', I need a much 
larger area than for building a regular emacs.
Why is this ? I would have expect to build the very same temacs for 
bootstraping.

For a w64 emacs, I need 18Mb for bootstraping and only 10Mb for a regular 
emacs.

It is also possible that I am missing somehting there.
Thanks for clarification.

Fabrice




^ permalink raw reply	[flat|nested] 5+ messages in thread

* Re: make bootstrap
  2014-03-03  9:25 make bootstrap Fabrice Popineau
@ 2014-03-03  9:52 ` David Kastrup
  2014-03-03  9:56 ` Andreas Schwab
  1 sibling, 0 replies; 5+ messages in thread
From: David Kastrup @ 2014-03-03  9:52 UTC (permalink / raw)
  To: emacs-devel

Fabrice Popineau <fabrice.popineau@gmail.com> writes:

> I was trying to squeez as much as possible the data to be dumped.
> While doing this I noticed that to be able to 'make bootstrap', I need a much 
> larger area than for building a regular emacs.
> Why is this ? I would have expect to build the very same temacs for 
> bootstraping.
>
> For a w64 emacs, I need 18Mb for bootstraping and only 10Mb for a regular 
> emacs.
>
> It is also possible that I am missing somehting there.
> Thanks for clarification.

Bootstrapping does not garbage-collect if I remember correctly.  It
might be worth checking which part of the bootstrap causes the majority
of garbage and see whether one can avoid more of it.

-- 
David Kastrup




^ permalink raw reply	[flat|nested] 5+ messages in thread

* Re: make bootstrap
  2014-03-03  9:25 make bootstrap Fabrice Popineau
  2014-03-03  9:52 ` David Kastrup
@ 2014-03-03  9:56 ` Andreas Schwab
  2014-03-03 11:53   ` Fabrice Popineau
  1 sibling, 1 reply; 5+ messages in thread
From: Andreas Schwab @ 2014-03-03  9:56 UTC (permalink / raw)
  To: Fabrice Popineau; +Cc: emacs-devel

Fabrice Popineau <fabrice.popineau@gmail.com> writes:

> While doing this I noticed that to be able to 'make bootstrap', I need a much 
> larger area than for building a regular emacs.
> Why is this ?

Because it's using the non-compiled lisp files for bootstrap-emacs.

Andreas.

-- 
Andreas Schwab, SUSE Labs, schwab@suse.de
GPG Key fingerprint = 0196 BAD8 1CE9 1970 F4BE  1748 E4D4 88E3 0EEA B9D7
"And now for something completely different."



^ permalink raw reply	[flat|nested] 5+ messages in thread

* Re: make bootstrap
  2014-03-03  9:56 ` Andreas Schwab
@ 2014-03-03 11:53   ` Fabrice Popineau
  2014-03-03 16:05     ` Eli Zaretskii
  0 siblings, 1 reply; 5+ messages in thread
From: Fabrice Popineau @ 2014-03-03 11:53 UTC (permalink / raw)
  To: emacs-devel

Andreas Schwab <schwab <at> suse.de> writes:

> 
> Fabrice Popineau <fabrice.popineau <at> gmail.com> writes:
> 
> > While doing this I noticed that to be able to 'make bootstrap', I need a 
much 
> > larger area than for building a regular emacs.
> > Why is this ?
> 
> Because it's using the non-compiled lisp files for bootstrap-emacs.
> 

Oops. That might be a good reason!

Currently, the size for these dumped data is hardwired in the build process.
I'll try to find a way to make it more configurable (at least for the w64 
case).

Thanks.

Fabrice




^ permalink raw reply	[flat|nested] 5+ messages in thread

* Re: make bootstrap
  2014-03-03 11:53   ` Fabrice Popineau
@ 2014-03-03 16:05     ` Eli Zaretskii
  0 siblings, 0 replies; 5+ messages in thread
From: Eli Zaretskii @ 2014-03-03 16:05 UTC (permalink / raw)
  To: Fabrice Popineau; +Cc: emacs-devel

> From: Fabrice Popineau <fabrice.popineau@gmail.com>
> Date: Mon, 3 Mar 2014 11:53:41 +0000 (UTC)
> 
> Andreas Schwab <schwab <at> suse.de> writes:
> 
> > 
> > Fabrice Popineau <fabrice.popineau <at> gmail.com> writes:
> > 
> > > While doing this I noticed that to be able to 'make bootstrap', I need a 
> much 
> > > larger area than for building a regular emacs.
> > > Why is this ?
> > 
> > Because it's using the non-compiled lisp files for bootstrap-emacs.
> > 
> 
> Oops. That might be a good reason!
> 
> Currently, the size for these dumped data is hardwired in the build process.
> I'll try to find a way to make it more configurable (at least for the w64 
> case).

There is an alternative: if you run out of space, malloc some buffer
and continue allocating from the heap.  This is what pure_alloc does.
The reason is that bootstrap-emacs is only used to byte-compile a
relatively small number of Lisp files, those which are preloaded.
Once those are compiled, we re-dump Emacs using the byte-compiled
files, then use that for the rest of the bootstrap (and for future
builds in the same tree).  So it is not important that some of the
loaded files in bootstrap-emacs are in a static array, while others
are on the heap.  I think.



^ permalink raw reply	[flat|nested] 5+ messages in thread

end of thread, other threads:[~2014-03-03 16:05 UTC | newest]

Thread overview: 5+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2014-03-03  9:25 make bootstrap Fabrice Popineau
2014-03-03  9:52 ` David Kastrup
2014-03-03  9:56 ` Andreas Schwab
2014-03-03 11:53   ` Fabrice Popineau
2014-03-03 16:05     ` Eli Zaretskii

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