GNU bug report logs - #5863
defadvice in byte compiled file does not work

Previous Next

Package: emacs;

Reported by: Lennart Borgman <lennart.borgman <at> gmail.com>

Date: Thu, 8 Apr 2010 15:27:02 UTC

Severity: minor

Tags: wontfix

Merged with 21683

Found in version 25.0.50

Done: Stefan Kangas <stefan <at> marxist.se>

Bug is archived. No further changes may be made.

Full log


View this message in rfc822 format

From: Andrea Corallo <akrl <at> sdf.org>
To: Stefan Monnier <monnier <at> iro.umontreal.ca>
Cc: Andreas Schwab <schwab <at> linux-m68k.org>, Stefan Kangas <stefan <at> marxist.se>, Lennart Borgman <lennart.borgman <at> gmail.com>, 5863 <at> debbugs.gnu.org
Subject: bug#5863: defadvice in byte compiled file does not work
Date: Thu, 19 Nov 2020 08:14:54 +0000
Stefan Monnier <monnier <at> iro.umontreal.ca> writes:

>> BTW, it seems like advising primitives will work once we get native-comp
>> merged:
>>
>>   The result of this procedure is that each newly activated function will
>>   use the trampoline in place of the original primitive and the
>>   trampoline will execute the call going through funcall making the
>>   advice effective!
>>
>>   This works so well that in-fact now is even possible to advice
>>   effectively what wasn't effective in byte-code (ex the + function). But
>>   hey, don't try this a home!
>>
>>   https://akrl.sdf.org/gccemacs.html#org3b7398e
>
> AFAIK this still won't cover all cases: we'd additionally have to
> arrange for C calls to F<fun> to go through the trampoline.  Maybe we
> can do that cheaply, I don't know.

I think there's no way we'll be able to fix the C to C case without some
very measurable performance impact.

For essentially the same reason the nativecomp trick does not work for
the (few) functions we opencode.

Ex on optimized compiled code redefining or advising `1+' will not take
effect.  So yeah works better but is still not perfect.

> In any case, I think the story is still sufficiently complex that we're
> better off saying that "it may work or not depending on your luck".

thus agree.

  Andrea




This bug report was last modified 4 years and 172 days ago.

Previous Next


GNU bug tracking system
Copyright (C) 1999 Darren O. Benham, 1997,2003 nCipher Corporation Ltd, 1994-97 Ian Jackson.