From mboxrd@z Thu Jan 1 00:00:00 1970 Path: news.gmane.io!.POSTED.blaine.gmane.org!not-for-mail From: Ihor Radchenko Newsgroups: gmane.emacs.devel Subject: Re: Shrinking the C core Date: Mon, 21 Aug 2023 06:23:43 +0000 Message-ID: <87msyk6hhs.fsf@localhost> References: <20230809094655.793FC18A4654@snark.thyrsus.com> <87jztvnuyb.fsf@localhost> <875y5bdutt.fsf@dataswamp.org> <87y1i6e1uh.fsf@localhost> <874jkub40o.fsf@dataswamp.org> <87jztqdw2l.fsf@localhost> <87msym9i4r.fsf@dataswamp.org> <877cpp914t.fsf@localhost> <83fs4dwwdo.fsf@gnu.org> <874jkt90a5.fsf@localhost> <87y1i57jqi.fsf@localhost> <87pm3h7h8k.fsf@localhost> <87h6ot7cf3.fsf@localhost> <87350d78j1.fsf@localhost> Mime-Version: 1.0 Content-Type: text/plain Injection-Info: ciao.gmane.io; posting-host="blaine.gmane.org:116.202.254.214"; logging-data="22576"; mail-complaints-to="usenet@ciao.gmane.io" Cc: eliz@gnu.org, incal@dataswamp.org, emacs-devel@gnu.org To: "Alfred M. Szmidt" Original-X-From: emacs-devel-bounces+ged-emacs-devel=m.gmane-mx.org@gnu.org Mon Aug 21 08:24:06 2023 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 1qXyKb-0005gx-TQ for ged-emacs-devel@m.gmane-mx.org; Mon, 21 Aug 2023 08:24:06 +0200 Original-Received: from localhost ([::1] helo=lists1p.gnu.org) by lists.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1qXyK5-0004on-Jh; Mon, 21 Aug 2023 02:23:33 -0400 Original-Received: from eggs.gnu.org ([2001:470:142:3::10]) by lists.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from ) id 1qXyK1-0004oG-ML for emacs-devel@gnu.org; Mon, 21 Aug 2023 02:23:29 -0400 Original-Received: from mout02.posteo.de ([185.67.36.66]) by eggs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from ) id 1qXyJt-0007Ks-8A for emacs-devel@gnu.org; Mon, 21 Aug 2023 02:23:27 -0400 Original-Received: from submission (posteo.de [185.67.36.169]) by mout02.posteo.de (Postfix) with ESMTPS id A225A240101 for ; Mon, 21 Aug 2023 08:23:17 +0200 (CEST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=posteo.net; s=2017; t=1692598997; bh=s+ILRBIx/FoPQ/x1hfAzix6JQeHjVwRu2CodZvuh3IY=; h=From:To:Cc:Subject:Date:Message-ID:MIME-Version:From; b=beYyUdTyB6M/hbQqsYvLE3gfQl9WWKeqEgujaOVRJQSeXWeKwoiXllkiF4V98QcZL vMczQsAPbLWqBptVekcR+IAfyhTEitu9BibgS6UIRBcNPK2qlw/+xBGxUr0afG9elZ el/MV7uB3X9Wtc7WO/aNd0jbBXIcigNZVVYWwXtR2Cw+zGmkWEOMX9EuUnciB3rZdW ZXHSthlsVNTS1gzzZXkie/KXRUBr/IH3gZpsnLsRC5SPJfwhusw3CmC1UL4Dl+vf38 +eRk7kjjIi0rFTnNFQtEAJAfxHFv2rc9lrtv+tVR2PLKZUDt6uoG1ph1e7RkEJxr1E VmoXMpMdhYiTA== Original-Received: from customer (localhost [127.0.0.1]) by submission (posteo.de) with ESMTPSA id 4RTj8h6RN0z6twF; Mon, 21 Aug 2023 08:23:16 +0200 (CEST) In-Reply-To: Received-SPF: pass client-ip=185.67.36.66; envelope-from=yantar92@posteo.net; helo=mout02.posteo.de X-Spam_score_int: -53 X-Spam_score: -5.4 X-Spam_bar: ----- X-Spam_report: (-5.4 / 5.0 requ) BAYES_00=-1.9, DKIM_SIGNED=0.1, DKIM_VALID=-0.1, DKIM_VALID_AU=-0.1, DKIM_VALID_EF=-0.1, RCVD_IN_DNSWL_MED=-2.3, RCVD_IN_MSPIKE_H5=-1, RCVD_IN_MSPIKE_WL=-0.01, SPF_HELO_NONE=0.001, SPF_PASS=-0.001 autolearn=unavailable autolearn_force=no X-Spam_action: no action X-BeenThere: emacs-devel@gnu.org X-Mailman-Version: 2.1.29 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-bounces+ged-emacs-devel=m.gmane-mx.org@gnu.org Xref: news.gmane.io gmane.emacs.devel:309027 Archived-At: "Alfred M. Szmidt" writes: > https://zenodo.org/record/3736363, Section 3.4 forward data-flow > analysis. > > Which has nothing to do with Emacs Lisp. Emacs Lisp lacks basic means > of instructing the compiler, for example ... stating what the function > return type is. > > JIT is primarily about execution speed, not about optimizing already > existing slow code which Emacs has lots of. For that you need a > better compiler, and people optimizing the code accordingly. We are miscommunicating. I do not agree that native compilation has nothing to do with Emacs Lisp. src/comp.c and lisp/emacs-lisp/native.el gather the information, among other things, about the Elisp function return types and function code flow, and later provide it to GCC JIT. Then, GCC JIT uses state-of-art compiler (GCC) to optimize the instruction graph and convert it to native code. This optimization includes removing the dead code (AFAIR, this was one of the examples provided in the talk and paper I linked to earlier). -- Ihor Radchenko // yantar92, Org mode contributor, Learn more about Org mode at . Support Org development at , or support my work at