• Dmitry Antipov's avatar
    Discard killed buffers from deleted window and frame objects. · d73e321c
    Dmitry Antipov authored
    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.
    d73e321c
data.c 88.9 KB