[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Re: On elisp running native
From: |
Andrea Corallo |
Subject: |
Re: On elisp running native |
Date: |
Wed, 04 Mar 2020 19:34:02 +0000 |
User-agent: |
Gnus/5.13 (Gnus v5.13) Emacs/26.3 (gnu/linux) |
Hi all,
this is the usual update for the activity of the last 2/3 weeks on the
native-comp branch.
- I did some reorganization of the passes and reworked the allocation
strategy for the relocable objects to avoid duplication and save heap
space.
- We now (finally) support multiple different builds on the same lisp
code base.
~eln~ files are compiled in specific sub-folders taking in account
host architecture and current Emacs configuration to disambiguate
possible incompatibilities.
As example a file ~.../foo.el~ will compile into something like
~.../x86_64-pc-linux-gnu-12383a81d4f33a87/foo.eln~.
I've updated the load and 'go to definition' mechanisms to support
this, so should be totally transparent to the user (if it's not is a
bug).
The same idea applies to all compilations, meaning main build as
compiled packages.
- Optimize qualities (read compilation flags) are now stored in every
~eln~ file. It's possible to inspect them for example as:
#+BEGIN_SRC lisp
(subr-native-comp-unit (symbol-function 'org-mode)) =>
#<native compilation unit:
.../emacs/lisp/org/x86_64-pc-linux-gnu-12383a81d4f33a87/org.eln ((comp-speed .
2) (comp-debug . 0))>
#+END_SRC
We could store there other information we are interest in related to
the compilation unit if we need.
- Finally I've set up a docker image for people willing to test it
without having to configure and compile Emacs and libgccjit. Now that
I've learned how it works I plan to use it to setup a small CI to keep
an eye that the latest GCC does not break with our build.
I've took note of all of this as Update6 in the usual page.
I'm generally very satisfied (surprised) about the stability of the toy.
I'm looking forward going into compile time mitigation. I guess I'll
start this weekend with deferred compilation and GCC profiling.
Please let me know if there's some point I should address.
Andrea
--
address@hidden
- Re: On elisp running native,
Andrea Corallo <=
- Re: On elisp running native, Michael Albinus, 2020/03/04
- Re: On elisp running native, Andrea Corallo, 2020/03/04
- Re: On elisp running native, Michael Albinus, 2020/03/05
- Re: On elisp running native, Andrea Corallo, 2020/03/06
- Re: On elisp running native, Michael Albinus, 2020/03/07
- Re: On elisp running native, Andrea Corallo, 2020/03/07
- Re: On elisp running native, Michael Albinus, 2020/03/07
- Message not available
- Message not available
- Message not available
- Message not available
- Re: On elisp running native, Michael Albinus, 2020/03/07
- Re: On elisp running native, Andrea Corallo, 2020/03/07
- Re: On elisp running native, Michael Albinus, 2020/03/07