Discard killed buffers from deleted window and frame objects.
authorDmitry Antipov <dmantipov@yandex.ru>
Tue, 11 Sep 2012 15:42:50 +0000 (19:42 +0400)
committerDmitry Antipov <dmantipov@yandex.ru>
Tue, 11 Sep 2012 15:42:50 +0000 (19:42 +0400)
commitd73e321cc241c0029e6874501cf32ee63643825c
tree457e4314e10ba51343f53a20ac8104d9db6203b2
parent96d0357142bf277e6eb4d957a59b2c655034e2b7
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.
src/ChangeLog
src/alloc.c
src/data.c
src/window.c
src/window.h