GNU bug report logs - #41242
Port feature/native-comp to Windows

Previous Next

Package: emacs;

Reported by: Nicolas Bértolo <nicolasbertolo <at> gmail.com>

Date: Wed, 13 May 2020 19:28:01 UTC

Severity: wishlist

Done: Andrea Corallo <akrl <at> sdf.org>

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: Nicolas Bértolo <nicolasbertolo <at> gmail.com>
Cc: Eli Zaretskii <eliz <at> gnu.org>, 41242 <at> debbugs.gnu.org
Subject: bug#41242: Port feature/native-comp to Windows
Date: Thu, 14 May 2020 18:13:35 +0000
Nicolas Bértolo <nicolasbertolo <at> gmail.com> writes:

>> 1- eln files do not retain the orginal function bytecode.
>
> That should be easy to change.

Sure but we don't want to do that because there's no reason to bloat the
eln.

>> in any point of the code you can get the symbol-function of a defined
>    function and leak it everywhere.
>
> This is why I said the GC should do it. It should be able to find all
> references.

Yes but I can't *remove* objects that are referenced niether swap them.
See below.

>> We can't technically "swap" functions definitions, the best we do is just
>> redefine them that is set a certain symbol-function (what late load does).
>
> When the GC finds a Lisp_Object that points to a subr we want to unload,
> it should replace it with one that points to its bytecode equivalent version.

No it cannot, if an object has been tested to say satisfy a predicate
you cannot change it for another one.  It would break tons of code and
make the system totally un-debuggable.

>> Even worst the function you want to remove could be active in the stack!
>
> You are right. I hadn't considered this. It can still be done, but would need to
> wait until the function finishes.

Yes, but when are all functions you want to get rid deactivated?

Here we are really complexifying a problem that is not.  IMO renaming
and having a list to do the clean-up are sufficient tools to solve it.

-- 
akrl <at> sdf.org




This bug report was last modified 5 years and 41 days ago.

Previous Next


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