diff options
author | Stefan Monnier <monnier@iro.umontreal.ca> | 2018-03-23 11:09:54 -0400 |
---|---|---|
committer | Stefan Monnier <monnier@iro.umontreal.ca> | 2018-03-23 11:09:54 -0400 |
commit | cf3164523b32f01dbaad2c1364ecf2dcf8f22aa5 (patch) | |
tree | 9dca9f6732e7b55b0285af36ff2de87919d4dde9 /lisp/emacs-lisp | |
parent | 6695c1be51bd8a1e208ae02505b2a6fa64c85e68 (diff) | |
download | emacs-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