summaryrefslogtreecommitdiff
path: root/lisp/emacs-lisp
diff options
context:
space:
mode:
authorStefan Monnier <monnier@iro.umontreal.ca>2018-03-23 11:09:54 -0400
committerStefan Monnier <monnier@iro.umontreal.ca>2018-03-23 11:09:54 -0400
commitcf3164523b32f01dbaad2c1364ecf2dcf8f22aa5 (patch)
tree9dca9f6732e7b55b0285af36ff2de87919d4dde9 /lisp/emacs-lisp
parent6695c1be51bd8a1e208ae02505b2a6fa64c85e68 (diff)
downloademacs-cf3164523b32f01dbaad2c1364ecf2dcf8f22aa5.tar.gz
emacs-cf3164523b32f01dbaad2c1364ecf2dcf8f22aa5.tar.bz2
emacs-cf3164523b32f01dbaad2c1364ecf2dcf8f22aa5.zip
* src/alloc.c: Avoid O(N²) complexity when unchaining markers (bug#24548).
Unchain all dead markers with a single scan of the markers list, instead of calling the O(N) 'unchain_marker' N times. (unchain_dead_markers): New function. (sweep_buffers): Use it. (gc_sweep): Sweep buffers before markers. (sweep_misc): Check that markers have been unchained when reclaiming them.
Diffstat (limited to 'lisp/emacs-lisp')
0 files changed, 0 insertions, 0 deletions