Discard killed buffers from deleted window and frame objects.
[bpt/emacs.git] / src / ChangeLog
index cecd31d..46f1847 100644 (file)
@@ -1,3 +1,17 @@
+2012-09-11  Dmitry Antipov  <dmantipov@yandex.ru>
+
+       Discard killed buffers from deleted window and frame objects.
+       This reduces an amount of references to killed buffers and
+       helps GC to reclaim them faster.
+       * alloc.c (discard_killed_buffers): New function.
+       (mark_object): Use it for deleted windows and frames.
+       (mark_object): If symbol's value is set up for a killed buffer
+       or deleted frame, restore it's global binding.
+       * data.c (swap_in_global_binding): Add GC notice.
+       (swap_in_symval_forwarding): Use convenient set_blv_where.
+       * window.c (wset_next_buffers, wset_prev_buffers): Move ...
+       * window.h: ... to here.
+
 2012-09-11  Dmitry Antipov  <dmantipov@yandex.ru>
 
        Convenient macro to check whether the buffer is live.