summaryrefslogtreecommitdiff
path: root/lisp/emacs-lisp/lisp.el
diff options
context:
space:
mode:
authorPaul Eggert <eggert@cs.ucla.edu>2020-08-30 23:40:11 -0700
committerPaul Eggert <eggert@cs.ucla.edu>2020-08-31 00:05:56 -0700
commitcf95bb0213908a4caab65dccfa67b4f1572babe2 (patch)
treeb1947e6458d3c6fb992320deee00884c80b2c949 /lisp/emacs-lisp/lisp.el
parentaa1b586a1afaa88e5a9521a7640feefc2c12f009 (diff)
downloademacs-cf95bb0213908a4caab65dccfa67b4f1572babe2.tar.gz
emacs-cf95bb0213908a4caab65dccfa67b4f1572babe2.tar.bz2
emacs-cf95bb0213908a4caab65dccfa67b4f1572babe2.zip
Avoid some false matches in mark_maybe_pointer
This lets Emacs avoid marking some garbage as if it were in use. On one test platform (RHEL 7.8, Intel Xeon Silver 4116) it sped up ‘cd lisp; make compile-always’ by a bit over 1%. * src/alloc.c (live_string_holding, live_cons_holding) (live_symbol_holding, live_large_vector_holding) (live_small_vector_holding): Count only pointers that point to a struct component, or are a tagged pointer to the start of the struct. Exception: for non-bool-vector pseudovectors, count any pointer past the header, since it’s too much of a pain to write code for every pseudovector. (live_vector_pointer): New function.
Diffstat (limited to 'lisp/emacs-lisp/lisp.el')
0 files changed, 0 insertions, 0 deletions