From mboxrd@z Thu Jan 1 00:00:00 1970 Path: news.gmane.io!.POSTED.blaine.gmane.org!not-for-mail From: Daniel Mendler Newsgroups: gmane.emacs.bugs Subject: bug#62009: 29.0.60; Emacs crashes on setf symbol-name Date: Fri, 10 Mar 2023 12:09:59 +0100 Message-ID: <43460d2c-ba80-0f2f-656c-ef0aca5667b5@daniel-mendler.de> References: <87o7p5of4n.fsf@daniel-mendler.de> <871qm01s6n.fsf@web.de> <9fcf05e8-506c-6566-e214-2ecf3194b85e@daniel-mendler.de> <83bkl45ul4.fsf@gnu.org> <87v8j9zl3i.fsf@posteo.net> <83a60l13p2.fsf@gnu.org> <16ecbe9ea8ba9d39d058@heytings.org> <16ecbe9ea85b22d008fd@heytings.org> Mime-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 7bit Injection-Info: ciao.gmane.io; posting-host="blaine.gmane.org:116.202.254.214"; logging-data="28958"; mail-complaints-to="usenet@ciao.gmane.io" Cc: Philip Kaludercic , michael_heerdegen@web.de, monnier@iro.umontreal.ca, 62009@debbugs.gnu.org, Eli Zaretskii , Augusto Stoffel To: Gregory Heytings Original-X-From: bug-gnu-emacs-bounces+geb-bug-gnu-emacs=m.gmane-mx.org@gnu.org Fri Mar 10 12:11:55 2023 Return-path: Envelope-to: geb-bug-gnu-emacs@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 1paafC-0007Ie-01 for geb-bug-gnu-emacs@m.gmane-mx.org; Fri, 10 Mar 2023 12:11:54 +0100 Original-Received: from localhost ([::1] helo=lists1p.gnu.org) by lists.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1paaeP-0003DP-Hy; Fri, 10 Mar 2023 06:11:05 -0500 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 1paaeN-0003Cu-5K for bug-gnu-emacs@gnu.org; Fri, 10 Mar 2023 06:11:03 -0500 Original-Received: from debbugs.gnu.org ([209.51.188.43]) by eggs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_128_GCM_SHA256:128) (Exim 4.90_1) (envelope-from ) id 1paaeM-0005if-TM for bug-gnu-emacs@gnu.org; Fri, 10 Mar 2023 06:11:02 -0500 Original-Received: from Debian-debbugs by debbugs.gnu.org with local (Exim 4.84_2) (envelope-from ) id 1paaeM-0003Od-Ea for bug-gnu-emacs@gnu.org; Fri, 10 Mar 2023 06:11:02 -0500 X-Loop: help-debbugs@gnu.org Resent-From: Daniel Mendler Original-Sender: "Debbugs-submit" Resent-CC: bug-gnu-emacs@gnu.org Resent-Date: Fri, 10 Mar 2023 11:11:02 +0000 Resent-Message-ID: Resent-Sender: help-debbugs@gnu.org X-GNU-PR-Message: followup 62009 X-GNU-PR-Package: emacs Original-Received: via spool by 62009-submit@debbugs.gnu.org id=B62009.167844661012983 (code B ref 62009); Fri, 10 Mar 2023 11:11:02 +0000 Original-Received: (at 62009) by debbugs.gnu.org; 10 Mar 2023 11:10:10 +0000 Original-Received: from localhost ([127.0.0.1]:53799 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1paadW-0003NL-KN for submit@debbugs.gnu.org; Fri, 10 Mar 2023 06:10:10 -0500 Original-Received: from server.qxqx.de ([178.63.65.180]:55721 helo=mail.qxqx.de) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1paadU-0003N4-SJ for 62009@debbugs.gnu.org; Fri, 10 Mar 2023 06:10:09 -0500 DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed; d=qxqx.de; s=mail1392553390; h=Content-Transfer-Encoding:Content-Type:In-Reply-To:From: References:Cc:To:Subject:MIME-Version:Date:Message-ID:Sender:Reply-To: Content-ID:Content-Description:Resent-Date:Resent-From:Resent-Sender: Resent-To:Resent-Cc:Resent-Message-ID:List-Id:List-Help:List-Unsubscribe: List-Subscribe:List-Post:List-Owner:List-Archive; bh=RW9wvMKL6iZ555hLtij0V/3l014uS/3myP1ojNmJoG0=; b=w5ZQ0W0NwCvKokqpYNaoSU4Qe/ VXcdATlUZUTPzGLz7idjBKHgBRPkL3TsNe/O7pUav2HHfCDNWx1hPOZvKf1/RD7XVmrg7UugPQw4C vhxDZwFXL8vJdKDtIj/N0xdSdGwYvN2T63mKZpMyteBMlaVnXBAqwsQD+ABuPLrkP18M=; Content-Language: en-US In-Reply-To: <16ecbe9ea85b22d008fd@heytings.org> X-BeenThere: debbugs-submit@debbugs.gnu.org X-Mailman-Version: 2.1.18 Precedence: list X-BeenThere: bug-gnu-emacs@gnu.org List-Id: "Bug reports for GNU Emacs, the Swiss army knife of text editors" List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: bug-gnu-emacs-bounces+geb-bug-gnu-emacs=m.gmane-mx.org@gnu.org Original-Sender: bug-gnu-emacs-bounces+geb-bug-gnu-emacs=m.gmane-mx.org@gnu.org Xref: news.gmane.io gmane.emacs.bugs:257669 Archived-At: On 3/10/23 11:59, Gregory Heytings wrote: > Is "symbol-name" a function that is used in performance-critical code? > And did you actually measure that performance overhead before concluding > that it it "unacceptably large"? According to my measurements, creating a > string from a symbol name costs about 100 CPU cycles. Yes, of course, for example completion. It would add cost all over the place in many packages. Also note the added GC pressure. It is not a good idea to change symbol-name now to allocate strings. >> Raising an exception upon modification would be the best approach. >> > > That would also come with a performance overhead, as there is currently no > way to distinguist strings that are used for symbol names from other > strings. Not to mention the added complexity in the code. One could check if the string is located in read-only memory. Or one could add a flag bit to the string data structure (and possibly to other data structures too). Freezing data structures such that they become read-only is a generally useful feature. There won't be any performance overhead of the check since a branch not taken is fast thanks to the branch predictor. Daniel