From unknown Fri Sep 05 11:01:50 2025 X-Loop: help-debbugs@gnu.org Subject: bug#35562: "varset" bytecode inline path is never taken Resent-From: Simon Frankau Original-Sender: "Debbugs-submit" Resent-CC: bug-gnu-emacs@gnu.org Resent-Date: Sat, 04 May 2019 15:37:02 +0000 Resent-Message-ID: Resent-Sender: help-debbugs@gnu.org X-GNU-PR-Message: report 35562 X-GNU-PR-Package: emacs X-GNU-PR-Keywords: To: 35562@debbugs.gnu.org X-Debbugs-Original-To: bug-gnu-emacs@gnu.org Received: via spool by submit@debbugs.gnu.org id=B.15569842081951 (code B ref -1); Sat, 04 May 2019 15:37:02 +0000 Received: (at submit) by debbugs.gnu.org; 4 May 2019 15:36:48 +0000 Received: from localhost ([127.0.0.1]:52011 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1hMwiU-0000VL-7q for submit@debbugs.gnu.org; Sat, 04 May 2019 11:36:46 -0400 Received: from eggs.gnu.org ([209.51.188.92]:53837) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1hMuhe-0005RX-FQ for submit@debbugs.gnu.org; Sat, 04 May 2019 09:27:46 -0400 Received: from lists.gnu.org ([209.51.188.17]:40927) by eggs.gnu.org with esmtps (TLS1.0:RSA_AES_256_CBC_SHA1:32) (Exim 4.71) (envelope-from ) id 1hMuhZ-0000Ix-C3 for submit@debbugs.gnu.org; Sat, 04 May 2019 09:27:41 -0400 Received: from eggs.gnu.org ([209.51.188.92]:39976) by lists.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1hMuhY-0001Gx-BK for bug-gnu-emacs@gnu.org; Sat, 04 May 2019 09:27:41 -0400 X-Spam-Checker-Version: SpamAssassin 3.3.2 (2011-06-06) on eggs.gnu.org X-Spam-Level: X-Spam-Status: No, score=0.0 required=5.0 tests=BAYES_40,HTML_MESSAGE, URIBL_BLOCKED autolearn=disabled version=3.3.2 Received: from Debian-exim by eggs.gnu.org with spam-scanned (Exim 4.71) (envelope-from ) id 1hMuhX-0000Hs-F2 for bug-gnu-emacs@gnu.org; Sat, 04 May 2019 09:27:40 -0400 Received: from mail-s79.mailgun.info ([184.173.153.207]:27775) by eggs.gnu.org with esmtps (TLS1.0:RSA_AES_128_CBC_SHA1:16) (Exim 4.71) (envelope-from ) id 1hMuhX-0000H2-8x for bug-gnu-emacs@gnu.org; Sat, 04 May 2019 09:27:39 -0400 DKIM-Signature: a=rsa-sha256; v=1; c=relaxed/relaxed; d=arbitrary.name; q=dns/txt; s=pic; t=1556976459; h=Content-Type: To: Subject: Message-ID: Date: From: MIME-Version: Sender; bh=a6aHY6CyYu6yBtofr8TvgOljXavckg7asCn2yLiGviY=; b=hS6bCUNDODAFWl3Gf09S5JzEw1chnmfcwQ5nKwyTZKglwL8eMYFEtxPCA8oTWS0jEVyE7od4 VSGjfi/B175H//WqfXJ4ld7PuisuwpZSqzTbVDnBMq4YvknWDtvX7Z8DuJI0tCIdNnZz1V/7 Yzvt69E2rNEbuBX2/RyMSWGFe1k= X-Mailgun-Sending-Ip: 184.173.153.207 X-Mailgun-Sid: WyI3MTJmNiIsICJidWctZ251LWVtYWNzQGdudS5vcmciLCAiZDljNWE0Il0= Received: from mail-lj1-f173.google.com (mail-lj1-f173.google.com [209.85.208.173]) by mxa.mailgun.org with ESMTP id 5ccd9347.7f013be704f0-smtp-out-n03; Sat, 04 May 2019 13:27:35 -0000 (UTC) Received: by mail-lj1-f173.google.com with SMTP id k8so7460256lja.8 for ; Sat, 04 May 2019 06:27:35 -0700 (PDT) X-Gm-Message-State: APjAAAWugBXf7bdWpOIXdLQtzZnLezo9gvs+x+BTh5FD08y37KL9X2p7 wSotl9WUM7VhF6v21t/goz2pGUnuYEoHxKHiDKI= X-Google-Smtp-Source: APXvYqz6F1zrDMmbqNd+V4huzciKjNit2dpyaOOf2XhjxIZO32mbuRhD1uj5gO1DlogfAubjIt85DmaHTHwMqfOMFEc= X-Received: by 2002:a2e:814e:: with SMTP id t14mr8153315ljg.25.1556976454376; Sat, 04 May 2019 06:27:34 -0700 (PDT) MIME-Version: 1.0 From: Simon Frankau Date: Sat, 4 May 2019 14:27:23 +0100 X-Gmail-Original-Message-ID: Message-ID: Content-Type: multipart/alternative; boundary="0000000000007ca4c505880fd4e1" X-detected-operating-system: by eggs.gnu.org: GNU/Linux 2.2.x-3.x [generic] X-Received-From: 184.173.153.207 X-detected-operating-system: by eggs.gnu.org: GNU/Linux 2.6.x X-Spam-Score: -1.3 (-) X-Mailman-Approved-At: Sat, 04 May 2019 11:36:44 -0400 X-BeenThere: debbugs-submit@debbugs.gnu.org X-Mailman-Version: 2.1.18 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: debbugs-submit-bounces@debbugs.gnu.org Sender: "Debbugs-submit" X-Spam-Score: -2.3 (--) --0000000000007ca4c505880fd4e1 Content-Type: text/plain; charset="UTF-8" While reading the source, I noticed in bytecode.c that: /* Inline the most common case. */ if (SYMBOLP (sym) && !EQ (val, Qunbound) && *!XSYMBOL (sym)->u.s.redirect* && !SYMBOL_TRAPPED_WRITE_P (sym)) SET_SYMBOL_VAL (XSYMBOL (sym), val); should be: /* Inline the most common case. */ if (SYMBOLP (sym) && !EQ (val, Qunbound) && *XSYMBOL (sym)->u.s.redirect == SYMBOL_PLAINVAL* && !SYMBOL_TRAPPED_WRITE_P (sym)) SET_SYMBOL_VAL (XSYMBOL (sym), val); As it is, the inline case is never run, since "redirect" is always non-zero. Since I'm new to emacs internals, I don't know how to benchmark to work out if this makes a noticable performance difference. :) Thanks, Simon. --0000000000007ca4c505880fd4e1 Content-Type: text/html; charset="UTF-8" Content-Transfer-Encoding: quoted-printable
While r= eading the source, I noticed in bytecode.c that:

= =C2=A0 =C2=A0 /* Inline the most common case.=C2=A0 */
= =C2=A0 =C2=A0 if (SYMBOLP (sym)
&& !EQ (val, Qun= bound)
&& !XSYMBOL (sym)->u.s.redirect=
&& !SYMBOL_TRAPPED_WRITE_P (sym))
<= div> =C2=A0 =C2=A0 =C2=A0 SET_SYMBOL_VAL (XSYMBOL (sym), val);
=

should be:

=C2=A0 = =C2=A0 /* Inline the most common case.=C2=A0 */
=C2=A0 = =C2=A0 if (SYMBOLP (sym)
&& !EQ (val, Qunbound)<= /font>
&& XSYMBOL (sym)->u.s.redirect =3D=3D SYMB= OL_PLAINVAL
&& !SYMBOL_TRAPPED_WRITE_P (sym)= )
=C2=A0 =C2=A0 =C2=A0 SET_SYMBOL_VAL (XSYMBOL (sym), val= );

As it is, the inline case is never= run, since "redirect" is always non-zero.

Since I'm new to emacs internals, I don't know how to benchmark = to work out if this makes a noticable performance difference. :)
Thanks,
Simon.

--0000000000007ca4c505880fd4e1-- From unknown Fri Sep 05 11:01:50 2025 X-Loop: help-debbugs@gnu.org Subject: bug#35562: "varset" bytecode inline path is never taken Resent-From: Noam Postavsky Original-Sender: "Debbugs-submit" Resent-CC: bug-gnu-emacs@gnu.org Resent-Date: Sat, 04 May 2019 16:11:02 +0000 Resent-Message-ID: Resent-Sender: help-debbugs@gnu.org X-GNU-PR-Message: followup 35562 X-GNU-PR-Package: emacs X-GNU-PR-Keywords: To: Simon Frankau Cc: 35562@debbugs.gnu.org Received: via spool by 35562-submit@debbugs.gnu.org id=B35562.15569862225215 (code B ref 35562); Sat, 04 May 2019 16:11:02 +0000 Received: (at 35562) by debbugs.gnu.org; 4 May 2019 16:10:22 +0000 Received: from localhost ([127.0.0.1]:52040 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1hMxF0-0001M2-59 for submit@debbugs.gnu.org; Sat, 04 May 2019 12:10:22 -0400 Received: from mail-qt1-f182.google.com ([209.85.160.182]:40253) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1hMxEy-0001Lm-72 for 35562@debbugs.gnu.org; Sat, 04 May 2019 12:10:20 -0400 Received: by mail-qt1-f182.google.com with SMTP id k24so6414575qtq.7 for <35562@debbugs.gnu.org>; Sat, 04 May 2019 09:10:20 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20161025; h=from:to:cc:subject:references:date:in-reply-to:message-id :user-agent:mime-version; bh=saACDLXnAXT55coTVIaI/hokBDRU2DFUC/dhQ+GPpz4=; b=Qolehp63uPusJCmLohGGEp/WjYE8gPyEJ8ZYUBsnAe39iqJ6QUv6VQEiUCEM7F2Z0L E2snjmVxTPRj3h8Eb5aIgZFWL1q4Uj+jX3+qYHzk72fSwK0ygbZ8gcjx1FMYlMoZQ5TD 2nWVlUxeiR/6Atj+5o6WQefHNGIZerYo3GnSde0h1vXryVN9nYv8KZczP69muQ9F/WTn XZUpIaPtvUh/3OsxrZj/6RnhhaMcKQTznMkEBM1YmizJSzPxmi+ASkhw9/pP8iGGT8WZ +wejTb6lwQpcD0U2Ew6vT/eTdLoIiTu/Gjfc9rRHqK7GYXxRa1UpBVJTgezPTNDREAWL kwVw== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20161025; h=x-gm-message-state:from:to:cc:subject:references:date:in-reply-to :message-id:user-agent:mime-version; bh=saACDLXnAXT55coTVIaI/hokBDRU2DFUC/dhQ+GPpz4=; b=Wrrb5F5U2FrjYHyNW03JOHC2YxxSTNe5mpRsaNZhA0aJ7Lurpbp0ICHW81+Ly93A9q I7kCa/40ZKUgD5PdeK1NJwYgE2tOCeOeWFWmjiGnxURlViZnUgpL4UAlvMGZxGjOScZm nO3uA2p7eihaZx4nm1cGib9QQBZKjTqNI7H07Qtv5nLHNmlyu+UtkEx0GhuSvnBIkbA+ mEDVurS97ycXDFiz19cjTR5Ve/9Y26+pA9Orafy/YYoXhpvM0CXBY/Ma7qMEpTpjhp6v vLTt0x3Mj97cYHvFXjaauLDsoXmp+GHYTfnFAYLNneIMbl6kmfQtQR3yLD7hdpsr9Wfi pEwg== X-Gm-Message-State: APjAAAVk3RJcIekuY60Yh/HwlvcbnK2OtgK6ci7cRvY0a84TIXTKcaqy 9Z7Nt85YRzzCPrI33yKU+kfBEfEW X-Google-Smtp-Source: APXvYqzlQx+vPjQw1RW5slzSRYD6uau3590obOpoAHmWBnuX1+7n0QY0mxbMgY8eBJpxBSfSGEG1Jw== X-Received: by 2002:a0c:d0b1:: with SMTP id z46mr9505355qvg.140.1556986214586; Sat, 04 May 2019 09:10:14 -0700 (PDT) Received: from minid (cbl-45-2-119-34.yyz.frontiernetworks.ca. [45.2.119.34]) by smtp.googlemail.com with ESMTPSA id m18sm3954692qki.64.2019.05.04.09.10.13 (version=TLS1_2 cipher=ECDHE-RSA-CHACHA20-POLY1305 bits=256/256); Sat, 04 May 2019 09:10:13 -0700 (PDT) From: Noam Postavsky References: Date: Sat, 04 May 2019 12:10:12 -0400 In-Reply-To: (Simon Frankau's message of "Sat, 4 May 2019 14:27:23 +0100") Message-ID: <87y33mmc9n.fsf@gmail.com> User-Agent: Gnus/5.13 (Gnus v5.13) Emacs/26.2 (gnu/linux) MIME-Version: 1.0 Content-Type: text/plain X-Spam-Score: 0.0 (/) X-BeenThere: debbugs-submit@debbugs.gnu.org X-Mailman-Version: 2.1.18 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: debbugs-submit-bounces@debbugs.gnu.org Sender: "Debbugs-submit" X-Spam-Score: -1.0 (-) Simon Frankau writes: > While reading the source, I noticed in bytecode.c that: > && *!XSYMBOL (sym)->u.s.redirect* > should be: > && *XSYMBOL (sym)->u.s.redirect == SYMBOL_PLAINVAL* > As it is, the inline case is never run, since "redirect" is always non-zero. > > Since I'm new to emacs internals, I don't know how to benchmark to work out > if this makes a noticable performance difference. :) I guess something like this might work (haven't tested to see if difference is measurable though): (defvar bug-35562-test-var nil) (benchmark-run-compiled (dotimes (_ 1000000) ;; Unroll a bit, so that setting `bug-35562-test-var' takes more ;; time than incrementing loop counter. (setq bug-35562-test-var nil) (setq bug-35562-test-var nil) (setq bug-35562-test-var nil) (setq bug-35562-test-var nil) (setq bug-35562-test-var nil) (setq bug-35562-test-var nil) (setq bug-35562-test-var nil) (setq bug-35562-test-var nil))) From unknown Fri Sep 05 11:01:50 2025 MIME-Version: 1.0 X-Mailer: MIME-tools 5.505 (Entity 5.505) X-Loop: help-debbugs@gnu.org From: help-debbugs@gnu.org (GNU bug Tracking System) To: Simon Frankau Subject: bug#35562: closed ("varset" bytecode inline path is never taken) Message-ID: References: X-Gnu-PR-Message: they-closed 35562 X-Gnu-PR-Package: emacs Reply-To: 35562@debbugs.gnu.org Date: Sat, 04 May 2019 18:17:02 +0000 Content-Type: multipart/mixed; boundary="----------=_1556993822-26224-1" This is a multi-part message in MIME format... ------------=_1556993822-26224-1 Content-Disposition: inline Content-Transfer-Encoding: quoted-printable Content-Type: text/plain; charset="utf-8" Your bug report #35562: "varset" bytecode inline path is never taken which was filed against the emacs package, has been closed. The explanation is attached below, along with your original report. If you require more details, please reply to 35562@debbugs.gnu.org. --=20 35562: http://debbugs.gnu.org/cgi/bugreport.cgi?bug=3D35562 GNU Bug Tracking System Contact help-debbugs@gnu.org with problems ------------=_1556993822-26224-1 Content-Type: message/rfc822 Content-Disposition: inline Content-Transfer-Encoding: 7bit Received: (at 35562-done) by debbugs.gnu.org; 4 May 2019 18:16:38 +0000 Received: from localhost ([127.0.0.1]:52232 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1hMzDA-0006oD-VL for submit@debbugs.gnu.org; Sat, 04 May 2019 14:16:37 -0400 Received: from zimbra.cs.ucla.edu ([131.179.128.68]:34374) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1hMzD5-0006nq-CS for 35562-done@debbugs.gnu.org; Sat, 04 May 2019 14:16:33 -0400 Received: from localhost (localhost [127.0.0.1]) by zimbra.cs.ucla.edu (Postfix) with ESMTP id 32F1A161845; Sat, 4 May 2019 11:16:25 -0700 (PDT) Received: from zimbra.cs.ucla.edu ([127.0.0.1]) by localhost (zimbra.cs.ucla.edu [127.0.0.1]) (amavisd-new, port 10032) with ESMTP id fftsOLIrBfoJ; Sat, 4 May 2019 11:16:24 -0700 (PDT) Received: from localhost (localhost [127.0.0.1]) by zimbra.cs.ucla.edu (Postfix) with ESMTP id 35D6716194B; Sat, 4 May 2019 11:16:24 -0700 (PDT) X-Virus-Scanned: amavisd-new at zimbra.cs.ucla.edu Received: from zimbra.cs.ucla.edu ([127.0.0.1]) by localhost (zimbra.cs.ucla.edu [127.0.0.1]) (amavisd-new, port 10026) with ESMTP id 06lbtMvaCm-E; Sat, 4 May 2019 11:16:24 -0700 (PDT) Received: from [192.168.1.9] (cpe-23-242-74-103.socal.res.rr.com [23.242.74.103]) by zimbra.cs.ucla.edu (Postfix) with ESMTPSA id F40F7161845; Sat, 4 May 2019 11:16:23 -0700 (PDT) To: Simon Frankau From: Paul Eggert Subject: "varset" bytecode inline path is never taken Organization: UCLA Computer Science Department Message-ID: Date: Sat, 4 May 2019 11:16:23 -0700 User-Agent: Mozilla/5.0 (X11; Linux x86_64; rv:60.0) Gecko/20100101 Thunderbird/60.6.1 MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8; format=flowed Content-Language: en-US Content-Transfer-Encoding: 7bit X-Spam-Score: -2.3 (--) X-Debbugs-Envelope-To: 35562-done Cc: 35562-done@debbugs.gnu.org X-BeenThere: debbugs-submit@debbugs.gnu.org X-Mailman-Version: 2.1.18 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: debbugs-submit-bounces@debbugs.gnu.org Sender: "Debbugs-submit" X-Spam-Score: -3.3 (---) Thanks for reporting that typo. I verified that the patch improves performance significantly (50% speedup) on Noam's benchmark, and installed the patch into the Emacs master branch. ------------=_1556993822-26224-1 Content-Type: message/rfc822 Content-Disposition: inline Content-Transfer-Encoding: 7bit Received: (at submit) by debbugs.gnu.org; 4 May 2019 15:36:48 +0000 Received: from localhost ([127.0.0.1]:52011 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1hMwiU-0000VL-7q for submit@debbugs.gnu.org; Sat, 04 May 2019 11:36:46 -0400 Received: from eggs.gnu.org ([209.51.188.92]:53837) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1hMuhe-0005RX-FQ for submit@debbugs.gnu.org; Sat, 04 May 2019 09:27:46 -0400 Received: from lists.gnu.org ([209.51.188.17]:40927) by eggs.gnu.org with esmtps (TLS1.0:RSA_AES_256_CBC_SHA1:32) (Exim 4.71) (envelope-from ) id 1hMuhZ-0000Ix-C3 for submit@debbugs.gnu.org; Sat, 04 May 2019 09:27:41 -0400 Received: from eggs.gnu.org ([209.51.188.92]:39976) by lists.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1hMuhY-0001Gx-BK for bug-gnu-emacs@gnu.org; Sat, 04 May 2019 09:27:41 -0400 X-Spam-Checker-Version: SpamAssassin 3.3.2 (2011-06-06) on eggs.gnu.org X-Spam-Level: X-Spam-Status: No, score=0.0 required=5.0 tests=BAYES_40,HTML_MESSAGE, URIBL_BLOCKED autolearn=disabled version=3.3.2 Received: from Debian-exim by eggs.gnu.org with spam-scanned (Exim 4.71) (envelope-from ) id 1hMuhX-0000Hs-F2 for bug-gnu-emacs@gnu.org; Sat, 04 May 2019 09:27:40 -0400 Received: from mail-s79.mailgun.info ([184.173.153.207]:27775) by eggs.gnu.org with esmtps (TLS1.0:RSA_AES_128_CBC_SHA1:16) (Exim 4.71) (envelope-from ) id 1hMuhX-0000H2-8x for bug-gnu-emacs@gnu.org; Sat, 04 May 2019 09:27:39 -0400 DKIM-Signature: a=rsa-sha256; v=1; c=relaxed/relaxed; d=arbitrary.name; q=dns/txt; s=pic; t=1556976459; h=Content-Type: To: Subject: Message-ID: Date: From: MIME-Version: Sender; bh=a6aHY6CyYu6yBtofr8TvgOljXavckg7asCn2yLiGviY=; b=hS6bCUNDODAFWl3Gf09S5JzEw1chnmfcwQ5nKwyTZKglwL8eMYFEtxPCA8oTWS0jEVyE7od4 VSGjfi/B175H//WqfXJ4ld7PuisuwpZSqzTbVDnBMq4YvknWDtvX7Z8DuJI0tCIdNnZz1V/7 Yzvt69E2rNEbuBX2/RyMSWGFe1k= X-Mailgun-Sending-Ip: 184.173.153.207 X-Mailgun-Sid: WyI3MTJmNiIsICJidWctZ251LWVtYWNzQGdudS5vcmciLCAiZDljNWE0Il0= Received: from mail-lj1-f173.google.com (mail-lj1-f173.google.com [209.85.208.173]) by mxa.mailgun.org with ESMTP id 5ccd9347.7f013be704f0-smtp-out-n03; Sat, 04 May 2019 13:27:35 -0000 (UTC) Received: by mail-lj1-f173.google.com with SMTP id k8so7460256lja.8 for ; Sat, 04 May 2019 06:27:35 -0700 (PDT) X-Gm-Message-State: APjAAAWugBXf7bdWpOIXdLQtzZnLezo9gvs+x+BTh5FD08y37KL9X2p7 wSotl9WUM7VhF6v21t/goz2pGUnuYEoHxKHiDKI= X-Google-Smtp-Source: APXvYqz6F1zrDMmbqNd+V4huzciKjNit2dpyaOOf2XhjxIZO32mbuRhD1uj5gO1DlogfAubjIt85DmaHTHwMqfOMFEc= X-Received: by 2002:a2e:814e:: with SMTP id t14mr8153315ljg.25.1556976454376; Sat, 04 May 2019 06:27:34 -0700 (PDT) MIME-Version: 1.0 From: Simon Frankau Date: Sat, 4 May 2019 14:27:23 +0100 X-Gmail-Original-Message-ID: Message-ID: Subject: "varset" bytecode inline path is never taken To: bug-gnu-emacs@gnu.org Content-Type: multipart/alternative; boundary="0000000000007ca4c505880fd4e1" X-detected-operating-system: by eggs.gnu.org: GNU/Linux 2.2.x-3.x [generic] X-Received-From: 184.173.153.207 X-detected-operating-system: by eggs.gnu.org: GNU/Linux 2.6.x X-Spam-Score: -1.3 (-) X-Debbugs-Envelope-To: submit X-Mailman-Approved-At: Sat, 04 May 2019 11:36:44 -0400 X-BeenThere: debbugs-submit@debbugs.gnu.org X-Mailman-Version: 2.1.18 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: debbugs-submit-bounces@debbugs.gnu.org Sender: "Debbugs-submit" X-Spam-Score: -2.3 (--) --0000000000007ca4c505880fd4e1 Content-Type: text/plain; charset="UTF-8" While reading the source, I noticed in bytecode.c that: /* Inline the most common case. */ if (SYMBOLP (sym) && !EQ (val, Qunbound) && *!XSYMBOL (sym)->u.s.redirect* && !SYMBOL_TRAPPED_WRITE_P (sym)) SET_SYMBOL_VAL (XSYMBOL (sym), val); should be: /* Inline the most common case. */ if (SYMBOLP (sym) && !EQ (val, Qunbound) && *XSYMBOL (sym)->u.s.redirect == SYMBOL_PLAINVAL* && !SYMBOL_TRAPPED_WRITE_P (sym)) SET_SYMBOL_VAL (XSYMBOL (sym), val); As it is, the inline case is never run, since "redirect" is always non-zero. Since I'm new to emacs internals, I don't know how to benchmark to work out if this makes a noticable performance difference. :) Thanks, Simon. --0000000000007ca4c505880fd4e1 Content-Type: text/html; charset="UTF-8" Content-Transfer-Encoding: quoted-printable
While r= eading the source, I noticed in bytecode.c that:

= =C2=A0 =C2=A0 /* Inline the most common case.=C2=A0 */
= =C2=A0 =C2=A0 if (SYMBOLP (sym)
&& !EQ (val, Qun= bound)
&& !XSYMBOL (sym)->u.s.redirect=
&& !SYMBOL_TRAPPED_WRITE_P (sym))
<= div> =C2=A0 =C2=A0 =C2=A0 SET_SYMBOL_VAL (XSYMBOL (sym), val);
=

should be:

=C2=A0 = =C2=A0 /* Inline the most common case.=C2=A0 */
=C2=A0 = =C2=A0 if (SYMBOLP (sym)
&& !EQ (val, Qunbound)<= /font>
&& XSYMBOL (sym)->u.s.redirect =3D=3D SYMB= OL_PLAINVAL
&& !SYMBOL_TRAPPED_WRITE_P (sym)= )
=C2=A0 =C2=A0 =C2=A0 SET_SYMBOL_VAL (XSYMBOL (sym), val= );

As it is, the inline case is never= run, since "redirect" is always non-zero.

Since I'm new to emacs internals, I don't know how to benchmark = to work out if this makes a noticable performance difference. :)
Thanks,
Simon.

--0000000000007ca4c505880fd4e1-- ------------=_1556993822-26224-1--