implement chain walking for arbitrary ->next pointer offsets in
authorTim Janik <timj@imendio.com>
Mon, 5 Dec 2005 15:01:27 +0000 (15:01 +0000)
committerTim Janik <timj@src.gnome.org>
Mon, 5 Dec 2005 15:01:27 +0000 (15:01 +0000)
commit6ed79b115c311323be086e2581650c33366c6f37
treebbe5a0c0600642d47a024df4c05846c9805d0a07
parent559e1057a0e4b1c42e66815b68cf2c17b598d65d
implement chain walking for arbitrary ->next pointer offsets in

Mon Dec  5 15:53:20 2005  Tim Janik  <timj@imendio.com>

        * glib/gslice.c: implement chain walking for arbitrary ->next pointer
        offsets in g_slice_free_chain_with_offset() based on a patch by behdad
        in bug 323178. moved time consuming logic from g_slice_free() out of
        the inner loop, so g_slice_free_chain_with_offset() provides a real
        performance benefit over g_slice_free1() now.

        * glib/gslice.h: renamed g_slice_free_chain() to
        g_slice_free_chain_with_offset(). implemented g_slice_free_chain() as
        a type-safe macro as suggested in bug 323178.
        simplified the macro implementation of g_slice_free() and implemented
        it in a type safe manner for all compliers as suggested by Morten
        Welinder <mortenw@gnome.org>.

        * glib/gmain.c:
        * glib/glist.c:
        * glib/gslist.c:
        * glib/glib.symbols: s/g_slice_free_chain/g_slice_free_chain_with_offset/
ChangeLog
ChangeLog.pre-2-10
ChangeLog.pre-2-12
docs/reference/ChangeLog
docs/reference/glib/tmpl/memory_slices.sgml
glib/glib.symbols
glib/glist.c
glib/gmain.c
glib/gslice.c
glib/gslice.h
glib/gslist.c