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: Add a configure option for NATIVE_FULL_AOT? Date: Thu, 19 Aug 2021 08:01:09 +0000 Message-ID: References: <87r1er3oqr.fsf@igel.home> <83lf4z6hh0.fsf@gnu.org> <83fsv75w43.fsf@gnu.org> <20210818073349.GC18126@tuxteam.de> <835yw354rb.fsf@gnu.org> <20210818133233.GA3470@tuxteam.de> <83pmua50jd.fsf@gnu.org> <20210818162216.GB9542@tuxteam.de> <20210818170020.GE9542@tuxteam.de> <8335r64qqq.fsf@gnu.org> <83a6ld3o4n.fsf@gnu.org> 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="37081"; mail-complaints-to="usenet@ciao.gmane.io" User-Agent: Gnus/5.13 (Gnus v5.13) Emacs/28.0.50 (gnu/linux) Cc: Stefan Monnier , tomas@tuxteam.de, emacs-devel@gnu.org To: Eli Zaretskii Original-X-From: emacs-devel-bounces+ged-emacs-devel=m.gmane-mx.org@gnu.org Thu Aug 19 10:03:11 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 1mGd14-0009QG-IJ for ged-emacs-devel@m.gmane-mx.org; Thu, 19 Aug 2021 10:03:10 +0200 Original-Received: from localhost ([::1]:47508 helo=lists1p.gnu.org) by lists.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1mGd13-0008NR-AH for ged-emacs-devel@m.gmane-mx.org; Thu, 19 Aug 2021 04:03:09 -0400 Original-Received: from eggs.gnu.org ([2001:470:142:3::10]:59356) by lists.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from ) id 1mGczA-0007Qk-VG for emacs-devel@gnu.org; Thu, 19 Aug 2021 04:01:13 -0400 Original-Received: from mx.sdf.org ([205.166.94.24]:64964) by eggs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from ) id 1mGcz9-0003U3-Bo; Thu, 19 Aug 2021 04:01:12 -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 17J819i8005381 (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256 bits) verified NO); Thu, 19 Aug 2021 08:01:09 GMT In-Reply-To: <83a6ld3o4n.fsf@gnu.org> (Eli Zaretskii's message of "Thu, 19 Aug 2021 10:11:20 +0300") 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:272651 Archived-At: Eli Zaretskii writes: >> From: Stefan Monnier >> Cc: Eli Zaretskii , tomas@tuxteam.de, emacs-devel@gnu.org >> Date: Wed, 18 Aug 2021 21:19:13 -0400 >> >> Fundamentally, .eln files are generated from .elc files (tho >> currently, the code works a bit differently, which is arguably a bug, >> which may(will?) bump into the above problem with .el files). > > Currently, AFAIU native compilation is a side effect of byte > compilation, in the sense that byte compilation _drives_ the > native-compiler passes which produce the intermediate-language > representation of the Lisp being compiled, to be submitted to the > libgccjit library for producing the native code. So I'm not sure > describing this as "from .elc fils" is close enough to the reality to > be helpful for understanding the process of native-compilation. > Andrea will correct me, but I don't see how one can switch to using > the .elc files as input for the native-compiler, as some information > about the program structure is probably missing from there. I think we could try to disassemble the bytecode and use it as input, but as you suggests some information about the program structure might be lost. My mind now goes to declarations but there might be others. In general it's a complex problem and I think one could prove it can work or not only after having attempted an implementation. BR Andrea