[Top][All Lists]

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: How does nativecomp compile circular lists?

From: Jimmy Yuen Ho Wong
Subject: Re: How does nativecomp compile circular lists?
Date: Thu, 29 Jul 2021 11:43:08 +0100
User-agent: Mozilla/5.0 (Macintosh; Intel Mac OS X 10.15; rv:78.0) Gecko/20100101 Thunderbird/78.12.0

On 28/07/2021 4:11 PM, Andrea Corallo wrote:
Jimmy Yuen Ho Wong <wyuenho@gmail.com> writes:


 [re-adding the list]

 Hi Jimmy,

 thanks for the patch.

 So I guess is clear this is unrelated to circular lists and probably
 disassemble is just broken for every native compiled function in this

 We might have other architecture+OS where function labels start with '_'
 but so far the patch LGTM, I just suggest a small nit.

 > diff --git a/lisp/emacs-lisp/disass.el b/lisp/emacs-lisp/disass.el
 > index 6ac76f1c19..d0e3bf7bf4 100644
 > --- a/lisp/emacs-lisp/disass.el
 > +++ b/lisp/emacs-lisp/disass.el
 > @@ -95,6 +95,7 @@ disassemble-internal
 >                (re-search-forward (concat "^.*"
 >                                           (regexp-quote
 >                                            (concat "<"
 > +                                                  (if (eq system-type 'darwin) "_")
                                                      I'd use `when' here.
 >                                                    (comp-c-func-name
 >                                                     (subr-name obj) "F" t)
 >                                                    ">:"))))

 Do you aready have copyright assignment?

 Best Regards


I do have an existing copyright assignment. No objection to using a when there, would you like me to submit a new patch
or you are fine with editing it yourself?
If you could provide a complete patch (including Changelog entry) that
would be appreciated thanks (please see the CONTRIBUTE file if in
doubt).  I'll be happy to install your patch if you don't have write

As to whether this is related to circular lists, I'm not so sure yet.
This is certanly not related to circular lists, this is just about how
lables are named on this specific triplet.

There's definitely something in native compilation
that compiles code that behaves differently when circular lists are involved, I just haven't found out what interaction
with circular lists will result in compilation failure or optimizing the result away. Any clues for what I should try is
much appreciated.
If you have some code/package that behaves differently byte vs native
compiled you should be able to identify the function causing the
difference when executed.  Once that is done we could start



Here's a new patch. Thanks in advance for installing it.

Attachment: disass.el.patch
Description: Text document

reply via email to

[Prev in Thread] Current Thread [Next in Thread]