emacs-devel
[Top][All Lists]
Advanced

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

Re: On elisp running native


From: Eli Zaretskii
Subject: Re: On elisp running native
Date: Sat, 28 Dec 2019 20:38:52 +0200

> From: Andrea Corallo <address@hidden>
> Cc: address@hidden, address@hidden
> Date: Sat, 28 Dec 2019 14:35:46 +0000
> 
> I guess it's easier to read in code than to explain (is really not
> much).  In case you can find 'load_comp_unit' into:
> 
> https://gitlab.com/koral/gccemacs/raw/dev/src/comp.c

Well, it's a 34K-line file full of calls to gcc_jit functions.  It's
hard to figure out what it does unless one is already familiar with
libgccjit.

Can you describe what happens using a simple example?  Suppose I have
a simple function whose body does

  (let ((i 0))
    (while (< i something)
      (foobar i)
      (setq i (1+ i))))

When this is compiled with libgccjit using your code, will the
resulting native code include calls to Fwhile, Fsetq, and Fadd1?  Or
will it convert the above to the equivalent machine-language loop?  If
the latter, how does it know what to produce for Fwhile, for example?

P.S.  Pointers to your code where it does something that answers the
above questions are very fine.

Thanks.



reply via email to

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