diff options
author | Paul Eggert <eggert@cs.ucla.edu> | 2018-10-30 20:57:46 -0700 |
---|---|---|
committer | Paul Eggert <eggert@cs.ucla.edu> | 2018-10-30 20:58:48 -0700 |
commit | cf486a7a920d3d95fa9aa98d7b03ebc61b17518a (patch) | |
tree | fa50f7b87708463c36e714078012706b4cefdb23 /lisp/emacs-lisp/map-ynp.el | |
parent | b9cbdd045f2d086390b3d0e4412ebac0b19aaead (diff) | |
download | emacs-cf486a7a920d3d95fa9aa98d7b03ebc61b17518a.tar.gz emacs-cf486a7a920d3d95fa9aa98d7b03ebc61b17518a.tar.bz2 emacs-cf486a7a920d3d95fa9aa98d7b03ebc61b17518a.zip |
Improve fix for Bug#33014
Although the previously-applied fix worked for its platform,
it doesn’t suffice in general.
* src/bytecode.c (exec_byte_code): Save VECTOR into stack slot
so that it survives GC. The stack slot was otherwise unused,
so this doesn’t cost us memory, only a store insn.
* src/eval.c (Ffuncall): Do not make FUN volatile, reverting
2018-10-14T19:12:04Z!gazally@runbox.com. Adding ‘volatile’
does not suffice, since storage for a volatile local can be
reclaimed after its last access (e.g., by tail recursion
elimination), which would make VECTOR invisible to GC.
Diffstat (limited to 'lisp/emacs-lisp/map-ynp.el')
0 files changed, 0 insertions, 0 deletions