From mboxrd@z Thu Jan 1 00:00:00 1970 Path: news.gmane.io!.POSTED.blaine.gmane.org!not-for-mail From: Andrea Corallo via "Emacs development discussions." Newsgroups: gmane.emacs.devel Subject: Re: Getting ready to land native-compilation on master Date: Fri, 09 Apr 2021 19:08:17 +0000 Message-ID: References: <87a6q7xtz1.fsf@subst.net> Reply-To: Andrea Corallo Mime-Version: 1.0 Content-Type: text/plain Injection-Info: ciao.gmane.io; posting-host="blaine.gmane.org:116.202.254.214"; logging-data="20259"; mail-complaints-to="usenet@ciao.gmane.io" User-Agent: Gnus/5.13 (Gnus v5.13) Emacs/28.0.50 (gnu/linux) Cc: Eli Zaretskii , emacs-devel@gnu.org To: "Jens C. Jensen" Original-X-From: emacs-devel-bounces+ged-emacs-devel=m.gmane-mx.org@gnu.org Fri Apr 09 21:09:27 2021 Return-path: Envelope-to: ged-emacs-devel@m.gmane-mx.org Original-Received: from lists.gnu.org ([209.51.188.17]) by ciao.gmane.io with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.92) (envelope-from ) id 1lUwVS-00059u-UX for ged-emacs-devel@m.gmane-mx.org; Fri, 09 Apr 2021 21:09:26 +0200 Original-Received: from localhost ([::1]:58064 helo=lists1p.gnu.org) by lists.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1lUwVR-0000Tw-Uu for ged-emacs-devel@m.gmane-mx.org; Fri, 09 Apr 2021 15:09:25 -0400 Original-Received: from eggs.gnu.org ([2001:470:142:3::10]:34710) by lists.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from ) id 1lUwUc-000863-6s for emacs-devel@gnu.org; Fri, 09 Apr 2021 15:08:35 -0400 Original-Received: from mx.sdf.org ([205.166.94.24]:58740) by eggs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from ) id 1lUwUQ-00035M-IC; Fri, 09 Apr 2021 15:08:31 -0400 Original-Received: from mab (ma.sdf.org [205.166.94.33]) by mx.sdf.org (8.15.2/8.14.5) with ESMTPS id 139J8HnK006195 (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256 bits) verified NO); Fri, 9 Apr 2021 19:08:18 GMT In-Reply-To: <87a6q7xtz1.fsf@subst.net> (Jens C. Jensen's message of "Fri, 09 Apr 2021 19:12:34 +0200") Received-SPF: pass client-ip=205.166.94.24; envelope-from=akrl@sdf.org; helo=mx.sdf.org X-Spam_score_int: -18 X-Spam_score: -1.9 X-Spam_bar: - X-Spam_report: (-1.9 / 5.0 requ) BAYES_00=-1.9, SPF_HELO_PASS=-0.001, SPF_PASS=-0.001 autolearn=ham autolearn_force=no X-Spam_action: no action X-BeenThere: emacs-devel@gnu.org X-Mailman-Version: 2.1.23 Precedence: list List-Id: "Emacs development discussions." List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: emacs-devel-bounces+ged-emacs-devel=m.gmane-mx.org@gnu.org Original-Sender: "Emacs-devel" Xref: news.gmane.io gmane.emacs.devel:267743 Archived-At: "Jens C. Jensen" writes: >> From: Eli Zaretskii >> Date: Fri, 09 Apr 2021 17:02:15 +0300 >> Cc: Andrea Corallo > >> AFAICT, we are quite ready to land this important feature. > > This is great news! > > I've been on the branch for several months now with no major issues, > the only oddity I've found was that natively-compiled elisp are subrs > (as Pip already mentioned), which messed up my syntax highlighting. Hi Jens, native compiled Lisp shares with primitives many aspects including for instance calling conventions, OTOH this is just other native code we can execute. Because of that felt natural to me to have these functions as another kind of subr (also some of the internal implementation was consequentially shared). IOW in the current implementation they are really (slightly special) subrs. I guess you have already figured that out but you can distinguish them with `subr-native-elisp-p'. > A big Thank-You to Andrea for the great work getting this far! You are welcome :) > P.S. Is Andreas website on gccemacs[1] the proper place to get in-depth information about the implementation? It feels more like a change-log. > > > [1] https://akrl.sdf.org/gccemacs.html Well, ATM as Eli mentioned, documentaiton is something a little lacking, certanly in my dev blog some datastructure and mechanisms are described/justified. Other than that you might want to have a look to: ATM to go further I think the approach would be dumping passes and/or starting to look into the source code. I tried my best to share with the community what I was working on and how but is not the easiest when the thing is being worked. Thanks! Andrea