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: MPS: weak hash tables Date: Tue, 02 Jul 2024 08:46:33 +0000 Message-ID: <87wmm49o5y.fsf@localhost> References: <2syUQ04IbTWqDJjMfKSrtzWMWmFGq1GIOwSxv_r6BEyNDtk7ADADKjZk-90g9tSS9SKWppkiq6_zihUtsoE1spiopaOI6-v9inQrGxwMyCs=@protonmail.com> Mime-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: quoted-printable Injection-Info: ciao.gmane.io; posting-host="blaine.gmane.org:116.202.254.214"; logging-data="1486"; mail-complaints-to="usenet@ciao.gmane.io" Cc: Pip Cet , Eli Zaretskii , Helmut Eller , Emacs Devel To: Gerd =?utf-8?Q?M=C3=B6llmann?= Original-X-From: emacs-devel-bounces+ged-emacs-devel=m.gmane-mx.org@gnu.org Tue Jul 02 10:45:56 2024 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 1sOZ98-000AbB-Lg for ged-emacs-devel@m.gmane-mx.org; Tue, 02 Jul 2024 10:45:54 +0200 Original-Received: from localhost ([::1] helo=lists1p.gnu.org) by lists.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1sOZ8O-0007Pc-5G; Tue, 02 Jul 2024 04:45:08 -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 1sOZ8L-0007PH-Lk for emacs-devel@gnu.org; Tue, 02 Jul 2024 04:45:05 -0400 Original-Received: from mout01.posteo.de ([185.67.36.65]) by eggs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from ) id 1sOZ8G-00030c-Nc for emacs-devel@gnu.org; Tue, 02 Jul 2024 04:45:05 -0400 Original-Received: from submission (posteo.de [185.67.36.169]) by mout01.posteo.de (Postfix) with ESMTPS id ADE29240028 for ; Tue, 2 Jul 2024 10:44:57 +0200 (CEST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=posteo.net; s=2017; t=1719909897; bh=JMs5VdOImjb5V3AcWjP9E3X5GL5OhK0qgKQOIf0UhL0=; h=From:To:Cc:Subject:Date:Message-ID:MIME-Version:Content-Type: Content-Transfer-Encoding:From; b=QmFGtkM7Os2ypMt6nRAeSI/1pVw7WlIlkZ6k72gHTYAoCNDNOTKqO6unrTLZn6wqz lFxqrw9iIXp0hYnqhlMDGWHjQmOq/BkMGi7Yz77HwS4Nba6qs229J3W92WC02RMe6V VHTNQAMavzSFrrL0uh/ZD/7eZCXI3kXrYZCl7AVQxD6HrGNfYa15P4OriIKV8xmGfP HlgVxTiZNjZDUUzXvsN+PWdPnDpWYeFEF2yuNnqJ+0yCO4NTX0IRvZpB/YWkGhEW93 72zsA95iyZpSwkr+4cMMtoHn/sWp7OJulYrqnDNsoCuycc320PiEa54otcXzFfF8uh VJB8hFb4QuMIw== Original-Received: from customer (localhost [127.0.0.1]) by submission (posteo.de) with ESMTPSA id 4WCxLJ4jW9z9rxM; Tue, 2 Jul 2024 10:44:56 +0200 (CEST) In-Reply-To: Received-SPF: pass client-ip=185.67.36.65; envelope-from=yantar92@posteo.net; helo=mout01.posteo.de X-Spam_score_int: -43 X-Spam_score: -4.4 X-Spam_bar: ---- X-Spam_report: (-4.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, 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:321108 Archived-At: Gerd M=C3=B6llmann writes: >> I have here fixes for that (I think) that I'll transfer to GNU in a few >> minutes. I think with that we're good. Please have a look. > > You made a change meanwhile that I think also works, so I added only 2 > asserts for what I thought was missing. I am getting Dumping under the name bootstrap-emacs.pdmp Dumping fingerprint: 682fbe72dde493fa543cbf53733386cdb3498ca18fdaefc91fd4c4= 1f0391e9e4 cold user data: 1a77f78 heap end: 1a7cb90 Error: error ("relocation target was not dumped: #s(hash-table test equal w= eakness value)") dump-emacs-portable("/home/yantar92/Git/emacs/src/bootstrap-emacs.pdmp") (if (member tmp-dump-mode '("pdump" "pbootstrap")) (dump-emacs-portable (= expand-file-name output invocation-directory)) (dump-emacs output (if (eq s= ystem-type 'ms-dos) "temacs.exe" "temacs")) (message "%d pure bytes used" p= ure-bytes-used)) (let ((tmp-dump-mode dump-mode) (dump-mode nil) (lexical-binding nil)) (i= f (member tmp-dump-mode '("pdump" "pbootstrap")) (dump-emacs-portable (expa= nd-file-name output invocation-directory)) (dump-emacs output (if (eq syste= m-type 'ms-dos) "temacs.exe" "temacs")) (message "%d pure bytes used" pure-= bytes-used)) (setq success t)) (unwind-protect (let ((tmp-dump-mode dump-mode) (dump-mode nil) (lexical-= binding nil)) (if (member tmp-dump-mode '("pdump" "pbootstrap")) (dump-emac= s-portable (expand-file-name output invocation-directory)) (dump-emacs outp= ut (if (eq system-type 'ms-dos) "temacs.exe" "temacs")) (message "%d pure b= ytes used" pure-bytes-used)) (setq success t)) (unless success (ignore-erro= rs (delete-file output)))) (let (success) (unwind-protect (let ((tmp-dump-mode dump-mode) (dump-mode= nil) (lexical-binding nil)) (if (member tmp-dump-mode '("pdump" "pbootstra= p")) (dump-emacs-portable (expand-file-name output invocation-directory)) (= dump-emacs output (if (eq system-type 'ms-dos) "temacs.exe" "temacs")) (mes= sage "%d pure bytes used" pure-bytes-used)) (setq success t)) (unless succe= ss (ignore-errors (delete-file output))))) (let ((output (cond ((equal dump-mode "pdump") "emacs.pdmp") ((equal dump= -mode "dump") "emacs") ((equal dump-mode "bootstrap") "emacs") ((equal dump= -mode "pbootstrap") "bootstrap-emacs.pdmp") (t (error "Unrecognized dump mo= de %s" dump-mode))))) (when (and (featurep 'native-compile) (equal dump-mod= e "pdump")) (setq native-comp-enable-subr-trampolines t)) (message "Dumping= under the name %s" output) (condition-case nil (delete-file output) (file-= error nil)) (let (success) (unwind-protect (let ((tmp-dump-mode dump-mode) = (dump-mode nil) (lexical-binding nil)) (if (member tmp-dump-mode '("pdump" = "pbootstrap")) (dump-emacs-portable (expand-file-name output invocation-dir= ectory)) (dump-emacs output (if (eq system-type 'ms-dos) "temacs.exe" "tema= cs")) (message "%d pure bytes used" pure-bytes-used)) (setq success t)) (un= less success (ignore-errors (delete-file output))))) (if (not (or (eq syste= m-type 'ms-dos) (eq system-type 'haiku) (or (featurep 'android) (eq system-= type 'android)) (member dump-mode '("pbootstrap" "bootstrap")))) (let ((nam= e (format "emacs-%s.%d" emacs-version emacs-build-number)) (exe (if (eq sys= tem-type 'windows-nt) ".exe" ""))) (while (string-match "[^-+_.a-zA-Z0-9]+"= name) (setq name (concat (downcase (substring name 0 (match-beginning 0)))= "-" (substring name (match-end 0))))) (message "Adding name %s" (concat na= me exe)) (add-name-to-file (expand-file-name (concat "emacs" exe) invocatio= n-directory) (expand-file-name (concat name exe) invocation-directory) t) (= when (equal dump-mode "pdump") (message "Adding name %s" (concat name ".pdm= p")) (add-name-to-file (expand-file-name "emacs.pdmp" invocation-directory)= (expand-file-name (concat name ".pdmp") invocation-directory) t)))) (kill-= emacs)) (if dump-mode (let ((output (cond ((equal dump-mode "pdump") "emacs.pdmp"= ) ((equal dump-mode "dump") "emacs") ((equal dump-mode "bootstrap") "emacs"= ) ((equal dump-mode "pbootstrap") "bootstrap-emacs.pdmp") (t (error "Unreco= gnized dump mode %s" dump-mode))))) (when (and (featurep 'native-compile) (= equal dump-mode "pdump")) (setq native-comp-enable-subr-trampolines t)) (me= ssage "Dumping under the name %s" output) (condition-case nil (delete-file = output) (file-error nil)) (let (success) (unwind-protect (let ((tmp-dump-mo= de dump-mode) (dump-mode nil) (lexical-binding nil)) (if (member tmp-dump-m= ode '("pdump" "pbootstrap")) (dump-emacs-portable (expand-file-name output = invocation-directory)) (dump-emacs output (if (eq system-type 'ms-dos) "tem= acs.exe" "temacs")) (message "%d pure bytes used" pure-bytes-used)) (setq s= uccess t)) (unless success (ignore-errors (delete-file output))))) (if (not= (or (eq system-type 'ms-dos) (eq system-type 'haiku) (or (featurep 'androi= d) (eq system-type 'android)) (member dump-mode '("pbootstrap" "bootstrap")= ))) (let ((name (format "emacs-%s.%d" emacs-version emacs-build-number)) (e= xe (if (eq system-type 'windows-nt) ".exe" ""))) (while (string-match "[^-+= _.a-zA-Z0-9]+" name) (setq name (concat (downcase (substring name 0 (match-= beginning 0))) "-" (substring name (match-end 0))))) (message "Adding name = %s" (concat name exe)) (add-name-to-file (expand-file-name (concat "emacs" = exe) invocation-directory) (expand-file-name (concat name exe) invocation-d= irectory) t) (when (equal dump-mode "pdump") (message "Adding name %s" (con= cat name ".pdmp")) (add-name-to-file (expand-file-name "emacs.pdmp" invocat= ion-directory) (expand-file-name (concat name ".pdmp") invocation-directory= ) t)))) (kill-emacs))) (if (and (eq system-type 'android) (featurep 'android)) (progn (when (not= noninteractive) (let ((temp-dir (getenv "TEMP")) (dump-file-name (format "= %semacs-%s.pdmp" (file-name-as-directory "~") pdumper-fingerprint)) (dump-t= emp-file-name (format "%s~emacs-%s.pdmp" (file-name-as-directory "~") pdump= er-fingerprint))) (unless (pdumper-stats) (condition-case nil (progn (dump-= emacs-portable dump-temp-file-name) (rename-file dump-temp-file-name dump-f= ile-name) nil) (error nil)))))) (if dump-mode (let ((output (cond ((equal d= ump-mode "pdump") "emacs.pdmp") ((equal dump-mode "dump") "emacs") ((equal = dump-mode "bootstrap") "emacs") ((equal dump-mode "pbootstrap") "bootstrap-= emacs.pdmp") (t (error "Unrecognized dump mode %s" dump-mode))))) (when (an= d (featurep 'native-compile) (equal dump-mode "pdump")) (setq native-comp-e= nable-subr-trampolines t)) (message "Dumping under the name %s" output) (co= ndition-case nil (delete-file output) (file-error nil)) (let (success) (unw= ind-protect (let ((tmp-dump-mode dump-mode) (dump-mode nil) (lexical-bindin= g nil)) (if (member tmp-dump-mode '("pdump" "pbootstrap")) (dump-emacs-port= able (expand-file-name output invocation-directory)) (dump-emacs output (if= (eq system-type 'ms-dos) "temacs.exe" "temacs")) (message "%d pure bytes u= sed" pure-bytes-used)) (setq success t)) (unless success (ignore-errors (de= lete-file output))))) (if (not (or (eq system-type 'ms-dos) (eq system-type= 'haiku) (or (featurep 'android) (eq system-type 'android)) (member dump-mo= de '("pbootstrap" "bootstrap")))) (let ((name (format "emacs-%s.%d" emacs-v= ersion emacs-build-number)) (exe (if (eq system-type 'windows-nt) ".exe" ""= ))) (while (string-match "[^-+_.a-zA-Z0-9]+" name) (setq name (concat (down= case (substring name 0 (match-beginning 0))) "-" (substring name (match-end= 0))))) (message "Adding name %s" (concat name exe)) (add-name-to-file (exp= and-file-name (concat "emacs" exe) invocation-directory) (expand-file-name = (concat name exe) invocation-directory) t) (when (equal dump-mode "pdump") = (message "Adding name %s" (concat name ".pdmp")) (add-name-to-file (expand-= file-name "emacs.pdmp" invocation-directory) (expand-file-name (concat name= ".pdmp") invocation-directory) t)))) (kill-emacs)))) load("loadup.el") relocation target was not dumped: #s(hash-table test equal weakness value) --=20 Ihor Radchenko // yantar92, Org mode contributor, Learn more about Org mode at . Support Org development at , or support my work at