emacs-devel
[Top][All Lists]
Advanced

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

Re: Ahead of time compilation?


From: Tom Tromey
Subject: Re: Ahead of time compilation?
Date: Fri, 14 Sep 2018 20:33:51 -0600
User-agent: Gnus/5.13 (Gnus v5.13) Emacs/26.1.50 (gnu/linux)

>>>>> "Perry" == Perry E Metzger <address@hidden> writes:

Perry> On Fri, 14 Sep 2018 16:25:39 -0600 Tom Tromey <address@hidden> wrote:
Perry> I sort of meant deliberately run the JIT on *all( the elisp that gets
Perry> loaded pre-dump, and when you dump emacs, everything will be
Perry> precompiled. Or does the JIT already JIT everything that gets loaded?

Oh, sorry, I misunderstood.

Right now the JIT always jits everything it can.  This isn't ideal
though.  There was a subthread about this.

I like your idea.  One problem is that the portable dumper might
conflict with it.  The main issue is that the JIT, currently (there are
maybe some decisions to be made here around compiling closures) bakes in
references to objects in the constant pool.  (This is one reason that
the JIT code is stuck into the bytecode vector: it ties the lifetimes
together.)  But, with the portable dumper, objects are "reinflated" at
startup, so this wouldn't work.  (This is basically the same problem
faced by the AOT compiler.)

FWIW libjit claims to be able to write out an ELF but that isn't
actually implemented.  And anyway it isn't the main problem I think.

Tom



reply via email to

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