GNU bug report logs -
#50777
Dropping EIEIO from xref (for performance)
Previous Next
Reported by: Dmitry Gutov <dgutov <at> yandex.ru>
Date: Fri, 24 Sep 2021 13:30:02 UTC
Severity: normal
Done: Dmitry Gutov <dgutov <at> yandex.ru>
Bug is archived. No further changes may be made.
Full log
Message #32 received at 50777 <at> debbugs.gnu.org (full text, mbox):
On 24.09.2021 18:32, Dmitry Gutov wrote:
> One area of bigger concern is whether code compiled against the new
> version of Xref would work with the old one without recompiling (and
> vice versa). I guess for that to work we need to disable inlining on
> xref-item's accessors, at least. Maybe there's something else I'm missing.
OK, so I've done some testing with ivy-xref (fixing it to stop using
with-slots), and (:noinline t) indeed seems necessary for Emacs using
previous version of xref to run code from ivy-xref.elc compiled with the
newer version without errors.
But since I tested this in Emacs 27,
(void-function make-closure)
was a much bigger problem. This is apparently how lambdas are compiled now.
So this is a +1 minor reason to release the new version together with
Emacs 28: less need to worry about :noinline. Though we could use it
anyway, to avoid tying byte code to a particular implementation: the
performance seems unchanged.
This bug report was last modified 3 years and 327 days ago.
Previous Next
GNU bug tracking system
Copyright (C) 1999 Darren O. Benham,
1997,2003 nCipher Corporation Ltd,
1994-97 Ian Jackson.