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: Sun, 20 Aug 2023 17:31:39 +0000 Message-ID: <87pm3h7h8k.fsf@localhost> References: <20230809094655.793FC18A4654@snark.thyrsus.com> <87y1if8j8t.fsf@linux-m68k.org> <87y1ifi9fv.fsf@dataswamp.org> <87zg2uqdmv.fsf@localhost> <87edk3gbh3.fsf@dataswamp.org> <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> Mime-Version: 1.0 Content-Type: text/plain Injection-Info: ciao.gmane.io; posting-host="blaine.gmane.org:116.202.254.214"; logging-data="20627"; 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 Sun Aug 20 19:32:09 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 1qXmHZ-00058L-Eb for ged-emacs-devel@m.gmane-mx.org; Sun, 20 Aug 2023 19:32:09 +0200 Original-Received: from localhost ([::1] helo=lists1p.gnu.org) by lists.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1qXmGu-0007WR-4N; Sun, 20 Aug 2023 13:31:28 -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 1qXmGl-0007Tx-Gc for emacs-devel@gnu.org; Sun, 20 Aug 2023 13:31:21 -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 1qXmGg-0003Vf-T8 for emacs-devel@gnu.org; Sun, 20 Aug 2023 13:31:19 -0400 Original-Received: from submission (posteo.de [185.67.36.169]) by mout02.posteo.de (Postfix) with ESMTPS id C329C240101 for ; Sun, 20 Aug 2023 19:31:12 +0200 (CEST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=posteo.net; s=2017; t=1692552672; bh=nvEUnX/X55f0HMroJ0kp3ZReU35WXQ8wuaD6Cp1j9SU=; h=From:To:Cc:Subject:Date:Message-ID:MIME-Version:From; b=LXVoD0k0XTDAXZi3DJLq+VHdFpUbKNPljx8Dmtszi8HdYE9oA8Ek9a8wPY7ZHHlPU IH8RAyuTocDehcaKjDz8s1ULSjU889gLMJbXpCHFxl3F0DXbyeizQSYUWWcQkkQ+lW oVeVzuFYQJlPQHljgQk1jfIbc5nFqGzYTETMfq33pMVmkvj9XGg5W9WXnUX3c7viBt Sb0nMhbiJ3+UI0hG9vovfi+jqIEJvPXYrFIiVIYEy4+s+NqUaTrJ3LHxJ4+3hUB1p0 OcTfHoKgiyD17nDukF6cbYmPhMwUT4HU2YmYUw8z0/O5tLKoPM7ahWq4K7heC3CHpR ac+25P5ultGCg== Original-Received: from customer (localhost [127.0.0.1]) by submission (posteo.de) with ESMTPSA id 4RTN1m49Xqz6tsB; Sun, 20 Aug 2023 19:31:08 +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:308978 Archived-At: "Alfred M. Szmidt" writes: > Not really. Native compilation already uses GCC. At least on the byte > code instructions and, separately, in subr code. > There is more than just GCC vs byte code VM in it. > > It is not about native compilation! It is about what OPTIMIZATIONS > can be done to the actual code flow. Just using GCC doesn't do ANY > optimizations to how the Lisp code is optimized or how its flow is > changed due to optimizations! Then, what does GCC do? AFAIK, GCC JIT takes the Elisp byte code, transforms it into JIT pseudocode, and optimizes the actual code flow. For example, when I write (when (> x y) (when (> x y) x)) I expect GCC JIT to throw away the duplicate comparison. -- Ihor Radchenko // yantar92, Org mode contributor, Learn more about Org mode at . Support Org development at , or support my work at