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


Message #386 received at 41242 <at> debbugs.gnu.org (full text, mbox):

From: Andrea Corallo <akrl <at> sdf.org>
To: Nicolas Bértolo <nicolasbertolo <at> gmail.com>
Cc: 41242 <at> debbugs.gnu.org
Subject: Re: bug#41242: Port feature/native-comp to Windows - Determine the
 emacs root dir...
Date: Sat, 30 May 2020 14:51:10 +0000
Nicolas Bértolo <nicolasbertolo <at> gmail.com> writes:

> I have found a few bugs in Windows.
> Patches attached (they are in my repo too).
>
> - It is still a good idea to avoid the call to getenv("emacs_dir"), if only for
>   performance reasons.

I guess this should then go into master right?  Probably also others
likes to review it, in case should not be discussed in this thread.

> - We can't use "gensym" for register_native_comp_unit() because the dynamic
>   library may not have been loaded yet when loading a dump file.

The code LGTM, I just think instead of make_fixum you could use make_int
to have some more room (not sure how much is realistic this scenario but
comes for free).

> - Commit `f5dceed09a8234548d5b3acb76d443569533cab9` "* lisp/loadup.el: Use new
>   'native-comp-available-p'." causes load_gccjit_if_necessary() to be called in
>   temacs. This didn't work because because term/w32-win.el had not been loaded
>   yet. In particular, we need `dynamic-library-alist` to be defined to know the
>   name of the libgccjit DLL. I have defined this in syms_of_emacs(). This
>   definition should be active only while dumping.

I'll look into.

> - This last bug is kinda confusing. I'm not sure about my diagnosis. The list
>   `delayed_comp_unit_disposal_list` has nodes allocated with xmalloc(). It seems
>   that these blocks allocated with xmalloc() get GC'd or they get corrupted
>   somehow and thus they don't survive until Emacs is about to close, which is
>   when we need the list. I solved it by allocating the data and nodes with
>   HeapAlloc().

I think this issue deserves to be precisely understood.

Thanks

  Andrea

-- 
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.