diff options
author | Eli Zaretskii <eliz@gnu.org> | 2014-05-24 15:02:25 +0300 |
---|---|---|
committer | Eli Zaretskii <eliz@gnu.org> | 2014-05-24 15:02:25 +0300 |
commit | c94e3311ecf51bf3c6017ab4028debcae2a5dd6e (patch) | |
tree | 3ffd9fdea9c001a76fd1166f4d158b32cf662ab3 /lisp/emacs-lisp/lisp-mnt.el | |
parent | a235163a6908136abd3f4574caf6e8b9a0c7dcf9 (diff) | |
download | emacs-c94e3311ecf51bf3c6017ab4028debcae2a5dd6e.tar.gz |
Avoid marking too deep portions of stack in mark_stack.
src/alloc.c (garbage_collect_1): New function, with all of the guts
of Fgarbage_collect.
(mark_stack): Accept an argument END and don't mark Lisp objects
on the stack beyond the address given by END. Calculation of END
was moved to Fgarbage_collect.
(Fgarbage_collect): Calculate the end address of the stack portion
that needs to be examined by mark_stack, and pass that address to
garbage_collect_1, which will pass it to mark_stack. See
http://lists.gnu.org/archive/html/emacs-devel/2014-05/msg00270.html
for more details about the underlying problems. In particular,
this avoids dumping Emacs with the large hash-table whose value is
held in purify-flag for most of the time loadup.el runs.
Diffstat (limited to 'lisp/emacs-lisp/lisp-mnt.el')
0 files changed, 0 insertions, 0 deletions