GNU bug report logs - #31750
simplify and tune Emacs stack-related allocation

Previous Next

Package: emacs;

Reported by: Paul Eggert <eggert <at> cs.ucla.edu>

Date: Fri, 8 Jun 2018 02:29:01 UTC

Severity: normal

Tags: patch

Done: Paul Eggert <eggert <at> cs.ucla.edu>

Bug is archived. No further changes may be made.

Full log


View this message in rfc822 format

From: help-debbugs <at> gnu.org (GNU bug Tracking System)
To: Paul Eggert <eggert <at> cs.ucla.edu>
Subject: bug#31750: closed (Re: bug#31750: simplify and tune Emacs
 stack-related allocation)
Date: Fri, 15 Jun 2018 07:48:02 +0000
[Message part 1 (text/plain, inline)]
Your bug report

#31750: simplify and tune Emacs stack-related allocation

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 31750 <at> debbugs.gnu.org.

-- 
31750: http://debbugs.gnu.org/cgi/bugreport.cgi?bug=31750
GNU Bug Tracking System
Contact help-debbugs <at> gnu.org with problems
[Message part 2 (message/rfc822, inline)]
From: Paul Eggert <eggert <at> cs.ucla.edu>
To: 31750-done <at> debbugs.gnu.org
Subject: Re: bug#31750: simplify and tune Emacs stack-related allocation
Date: Fri, 15 Jun 2018 00:46:58 -0700
I installed the patches into master after tweaking the mint_ptr comments a bit, 
and am marking this as done.

[Message part 3 (message/rfc822, inline)]
From: Paul Eggert <eggert <at> cs.ucla.edu>
To: Emacs bugs <bug-gnu-emacs <at> gnu.org>
Subject: simplify and tune Emacs stack-related allocation
Date: Thu, 7 Jun 2018 19:27:52 -0700
[Message part 4 (text/plain, inline)]
While looking into the Emacs garbage collector's stack-overflow problems 
I noticed several opportunities for improving performance and 
simplifying the code in minor ways. I plan to install the attached 
patches to take advantage of these opportunities; although they don't 
address stack overflow, they can be thought of as a first, cleanup step 
toward addressing stack overflow.

Overall these patches trim about 250 lines from the C source code, and 
should improve efficiency by not creating objects on the heap to handle 
stack-related events such as implementing save-excursion. This patch 
also removes primitives like 'free_misc' that ask for trouble by 
second-guessing the garbage collector. I'm filing this as a bug report 
in order to give the patches a bit of time to cool before installing. 
Comments welcome, as usual.

[0001-New-mint_ptr-representation-for-C-pointers.patch (text/x-patch, attachment)]
[0002-Simplify-init_module_assertions.patch (text/x-patch, attachment)]
[0003-Avoid-Lisp_Misc-allocation-if-C-stack-suffices.patch (text/x-patch, attachment)]
[0004-Use-record_unwind_protect_ptr-to-avoid-allocation.patch (text/x-patch, attachment)]
[0005-Avoid-allocating-a-Lisp_Save_Value-in-ftfont.c.patch (text/x-patch, attachment)]
[0006-Just-use-cons-in-macfont_descriptor_entity.patch (text/x-patch, attachment)]
[0007-Avoid-allocating-Lisp_Save_Value-for-excursions.patch (text/x-patch, attachment)]
[0008-Avoid-allocating-Lisp_Save_Value-for-arrays.patch (text/x-patch, attachment)]
[0009-New-type-Lisp_Misc_Ptr.patch (text/x-patch, attachment)]
[0010-Remove-Lisp_Misc_Save_Value.patch (text/x-patch, attachment)]

This bug report was last modified 6 years and 346 days ago.

Previous Next


GNU bug tracking system
Copyright (C) 1999 Darren O. Benham, 1997,2003 nCipher Corporation Ltd, 1994-97 Ian Jackson.