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: help-debbugs <at> gnu.org (GNU bug Tracking System)
To: Nicolas Bértolo <nicolasbertolo <at> gmail.com>
Subject: bug#41242: closed (Re: bug#41242: Port feature/native-comp to
 Windows - Reduce the number of files probed when finding a lisp file.)
Date: Sat, 06 Jun 2020 21:42:02 +0000
[Message part 1 (text/plain, inline)]
Your bug report

#41242: Port feature/native-comp to Windows

which was filed against the emacs package, has been closed.

The explanation is attached below, along with your original report.
If you require more details, please reply to 41242 <at> debbugs.gnu.org.

-- 
41242: http://debbugs.gnu.org/cgi/bugreport.cgi?bug=41242
GNU Bug Tracking System
Contact help-debbugs <at> gnu.org with problems
[Message part 2 (message/rfc822, inline)]
From: Andrea Corallo <akrl <at> sdf.org>
To: Nicolas Bértolo <nicolasbertolo <at> gmail.com>
Cc: 41242-done <at> debbugs.gnu.org
Subject: Re: bug#41242: Port feature/native-comp to Windows - Reduce the
 number of files probed when finding a lisp file.
Date: Sat, 06 Jun 2020 21:41:24 +0000
I did the suggested style modification myself and applied the patch as
e38678b268.

Thanks I'm closing this.

  Andrea

-- 
akrl <at> sdf.org

[Message part 3 (message/rfc822, inline)]
From: Nicolas Bértolo <nicolasbertolo <at> gmail.com>
To: bug-gnu-emacs <at> gnu.org
Subject: Port feature/native-comp to Windows
Date: Wed, 13 May 2020 16:26:57 -0300
[Message part 4 (text/plain, inline)]
The attached patches contain changes to make the feature/native-comp branch work
on Windows.

There are a few remaining issues:

* The loading process is very slow. This is especially annoying when coupled
  with autoloading. For example, autoloading Helm may stall Emacs for 5 seconds
  in my machine.

  I have thought a possible solution to this problem: load the byte-compiled
  file and put the native-compiled version in a list. Then load that list one by
  one on an idle-timer, that way the UI freezes should be minimized. This could
  reuse the "late loading" machinery implemented for deferred compilation.

* `package-delete` fails because it tries to delete the .eln file via
  `delete-file`. This is impossible in Windows because it's generally impossible
  to delete files that have an open HANDLE in the system.

  Three solutions have crossed my mind:

  - Edit `package-delete` to put the eln on a list of files that should be
    deleted when Emacs is closed.

  - Implement an unloading mechanism for native-compiled files.

  - Copy eln files to temporary files and load those temporary files instead.
    This means that deleting the original eln file is possible.

  I'd prefer the second option, but I have a semi-working patch for the third
  option.

* The `emacs_dir` environment variable needs to be set when loading the dump
  file. It is necessary for `expand-file-name`, which calls emacs_root_dir(). I
  haven't investigated why this is necessary yet. One workaround would be to use
  GetModuleFileName() to get the path to emacs.exe when `emacs_dir` is not set.
[0001-HACK-Ensure-the-emacs_root_dir-function-does-not-cra.patch (application/octet-stream, attachment)]
[0002-Do-not-block-SIGIO-in-platforms-that-don-t-have-it.patch (application/octet-stream, attachment)]
[0003-Handle-setjmp-taking-two-arguments-in-Windows.patch (application/octet-stream, attachment)]
[0004-Handle-LISP_WORDS_ARE_POINTERS-and-CHECK_LISP_OBJECT.patch (application/octet-stream, attachment)]
[0005-Remove-a-layer-of-indirection-for-access-to-pure-sto.patch (application/octet-stream, attachment)]
[0006-Workaround-the-32768-chars-command-line-limit-in-Win.patch (application/octet-stream, attachment)]
[0007-Load-libgccjit-dynamically-in-Windows.patch (application/octet-stream, attachment)]
[0008-Windows-Use-NUMBER_OF_PROCESSORS-environment-variabl.patch (application/octet-stream, attachment)]

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

Previous Next


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