implemented static debugging hash-tree to validate slice adresses and
authorTim Janik <timj@imendio.com>
Thu, 28 Dec 2006 11:50:43 +0000 (11:50 +0000)
committerTim Janik <timj@src.gnome.org>
Thu, 28 Dec 2006 11:50:43 +0000 (11:50 +0000)
commit1bd89934513921526da2d9e6463faeda8e4d76a7
tree0e96fac634269139467ad8b1ead67d3c1b3b9267
parent636dae32c30dfacde754b9f6e6cb1bf29815bab8
implemented static debugging hash-tree to validate slice adresses and

Thu Dec 28 12:50:31 2006  Tim Janik  <timj@imendio.com>

        * glib/gslice.h, glib/gslice.c: implemented static debugging
        hash-tree to validate slice adresses and sizes with G_SLICE=debug-blocks.
        use abort() to exit in mem_error() to allow catching of these in gdb.
        abort programs with a descriptive error message if g_thread_init() is
        called after GSlice was in use. previously this just silently corrupted
        the magazines.

        * glib/ghash.c (struct _GHashNode): reordered fields to keep 8-byte
        pointer alignment on 64bit systems and request smaller slice sizes
        on 32bit systems.

        * tests/slice-test.c: support '~' option flag to introduce slice
        allocation/release corruption with a significant probability. this
        allowes testing of G_SLICE=debug-blocks.
ChangeLog
glib/ghash.c
glib/glib.symbols
glib/gslice.c
glib/gslice.h
tests/slice-test.c