bug-gnu-emacs
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

bug#31750: simplify and tune Emacs stack-related allocation


From: Paul Eggert
Subject: bug#31750: simplify and tune Emacs stack-related allocation
Date: Thu, 7 Jun 2018 19:27:52 -0700
User-agent: Mozilla/5.0 (X11; Linux x86_64; rv:52.0) Gecko/20100101 Thunderbird/52.8.0

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.

Attachment: 0001-New-mint_ptr-representation-for-C-pointers.patch
Description: Text Data

Attachment: 0002-Simplify-init_module_assertions.patch
Description: Text Data

Attachment: 0003-Avoid-Lisp_Misc-allocation-if-C-stack-suffices.patch
Description: Text Data

Attachment: 0004-Use-record_unwind_protect_ptr-to-avoid-allocation.patch
Description: Text Data

Attachment: 0005-Avoid-allocating-a-Lisp_Save_Value-in-ftfont.c.patch
Description: Text Data

Attachment: 0006-Just-use-cons-in-macfont_descriptor_entity.patch
Description: Text Data

Attachment: 0007-Avoid-allocating-Lisp_Save_Value-for-excursions.patch
Description: Text Data

Attachment: 0008-Avoid-allocating-Lisp_Save_Value-for-arrays.patch
Description: Text Data

Attachment: 0009-New-type-Lisp_Misc_Ptr.patch
Description: Text Data

Attachment: 0010-Remove-Lisp_Misc_Save_Value.patch
Description: Text Data


reply via email to

[Prev in Thread] Current Thread [Next in Thread]