summaryrefslogtreecommitdiff
path: root/lisp/cus-edit.el
diff options
context:
space:
mode:
authorPaul Eggert <eggert@cs.ucla.edu>2018-06-07 19:12:28 -0700
committerPaul Eggert <eggert@cs.ucla.edu>2018-06-14 17:13:39 -0700
commitd98670eb04925fdc4a4928a9b0d0858881da418f (patch)
tree52d74dac7f568f7bcfe252ec9efd7658177895e0 /lisp/cus-edit.el
parentaca938d1f4ec176a2d00a77693b231298b9c5c4e (diff)
downloademacs-d98670eb04925fdc4a4928a9b0d0858881da418f.tar.gz
emacs-d98670eb04925fdc4a4928a9b0d0858881da418f.tar.bz2
emacs-d98670eb04925fdc4a4928a9b0d0858881da418f.zip
Avoid allocating Lisp_Save_Value for arrays
* src/alloc.c (mark_maybe_objects): New function. * src/eval.c (default_toplevel_binding) (backtrace_eval_unrewind, Fbacktrace__locals): Treat array unwindings like other miscellaneous pdl types. (record_unwind_protect_array): New function. (do_one_unbind): Free the array while unwinding. (mark_specpdl): Mark arrays directly. * src/lisp.h (SPECPDL_UNWIND_ARRAY): New constant. (union specbinding): New member unwind_array. (SAFE_ALLOCA_LISP_EXTRA): Use record_unwind_protect_array instead of make_save_memory + record_unwind_protect.
Diffstat (limited to 'lisp/cus-edit.el')
0 files changed, 0 insertions, 0 deletions