implement chain walking for arbitrary ->next pointer offsets in
[platform/upstream/glib.git] / ChangeLog
index 9f7a750..f35cc7f 100644 (file)
--- a/ChangeLog
+++ b/ChangeLog
@@ -1,3 +1,197 @@
+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/
+
+2005-12-05  Matthias Clasen  <mclasen@redhat.com>
+
+       * glib/gasyncqueue.c: Add some docs.
+
+       * tests/libmoduletestplugin_a.c: Fix compiler warnings.
+
+       * glib/gatomic.c: In the ia64 implementation, use
+       __sync builtin without _si or _di suffix.  (#321229,
+       Stanislav Brabec, patch by Andreas Schwab)
+
+2005-12-04  Behdad Esfahbod  <behdad@gnome.org>
+
+       * glib/gslice.h: Remove comma at the end of enum.
+
+2005-12-04  Matthias Clasen  <mclasen@redhat.com>
+
+       Handle multiple user names with the same UID better.
+       (#319535, Laszlo Peter)
+       
+       * glib/gutils.c (g_get_any_init_do): When determining user
+       data, first look up $LOGNAME. If the UID doesn't match
+       getuid(), fall back to the current behaviour of looking
+       up the user data based on getuid().
+
+2005-12-04  Matthias Clasen  <mclasen@redhat.com>
+
+       * glib/gmacros.h (G_GNUC_WARN_UNUSED_RESULT): Add a macro
+       to make gcc warn if a function result is ignored.  (#145466,
+       Arjan van de Ven, Alex Larsson)
+
+       * glib/gmem.h: Add the new attribute to g_realloc and 
+       g_try_realloc.
+
+2005-12-03  Matthias Clasen  <mclasen@redhat.com>
+
+       * glib/glib.symbols: 
+       * glib/gcache.h: Deprecate g_cache_value_foreach. (#322956,
+       Nicolas Caniart)
+
+       * glib/gmappedfile.c: Make mapping of empty files
+       work.  (#321530)
+       
+       * glib/gfileutils.c: Don't fork a new process just to 
+       fix the permissions of the created temp file.  (#321318,
+       Alexis S. L. Carvalho)
+
+2005-12-02  Matthias Clasen  <mclasen@redhat.com>
+
+       * README.in: Add a note about Solaris threads.
+
+       * glib/gspawn.c:
+       * configure.in: Remove support for Solaris threads. 
+       (#136971, Sebastian Wilhelmi, patch by Andrew Paprocki)
+
+2005-12-02  Matthias Clasen  <mclasen@redhat.com>
+
+       * configure.in: Define G_GUINT64_CONSTANT in analogy to
+       G_GINT64_CONSTANT.  (#322568, Andrew Paprocki)
+
+2005-12-02  Matthias Clasen  <mclasen@redhat.com>
+
+       * glib/gslice.c: Win32 portability fixes and C99ism removal,
+       pointed out by Kazuki Iwamoto.  (#323052)
+       
+2005-12-02  Matthias Clasen  <mclasen@redhat.com>
+
+       * glib/gatomic.c (g_atomic_int_add): Add a missing volatile for
+       the IA64 implementation.
+
+Fri Dec  2 16:18:09 2005  Tim Janik  <timj@imendio.com>
+
+       * glib/gslice.c: some naming and type size fixups.
+
+Fri Dec  2 13:08:58 2005  Tim Janik  <timj@gtk.org>
+
+       * glib/gslice.h (g_slice_free): reworked GCC-specific type-safe macro
+       variant into something less verbose, but digestible for gcc-3.4.
+
+Fri Dec  2 10:55:07 2005  Tim Janik  <timj@imendio.com>
+
+       * tests/slice-test.c: extended to perform the benchmarking on the old
+       memchunk code if 'O' is selected.
+
+       * tests/memchunks.c: new file which contains the old GLib mem chunks
+       implementation with prefix old_mem_chunk_.
+
+       * tests/Makefile.am: added memchunks.c
+
+Fri Dec  2 00:16:59 2005  Tim Janik  <timj@imendio.com>
+
+       * glib/gslice.c: improved gettimeofday() timer resolution by maintaining
+       acceptable load distribution of the syscall.
+       (allocator_get_magazine_threshold): reduce minimum/single-thread magazine
+       sizes to approximately page_size/2.5 to avoid excessive startup allocations.
+
+2005-12-01  Matthias Clasen  <mclasen@redhat.com>
+
+       * tests/gobject/ifacecheck.c (test_iface_base_init): Don't
+       double-free base interface members.
+
+       * tests/Makefile.am: Remove duplicate variable.
+
+Thu Dec  1 17:32:46 2005  Tim Janik  <timj@imendio.com>
+
+       * glib/gslice.[hc]: new slice allocator implementation.
+
+       * tests/slice-test.c: added random slice allocation test.
+
+       * glib/gthread.[hc]: removed newly added private thread mem API.
+
+       * glib/gthreadinit.h:
+       * glib/gmessages.c:
+       * glib/gthread.c:
+       * glib/gmem.c: divided glib threading initialisation into three phases,
+       initialisation where private keys and messaging are not available (only
+       needed by gmem.c), initialisation without messaging but private keys
+       available (gslice.c, gmessage.c), and full fledged initialisers that
+       server the rest of glib. initialisation functions got renamed to reflect
+       the limitations of their corresponding phases.
+
+       * glib/gmem.c: removed memchunk code, defer allocations to 
+       g_slice_* instead.
+
+       * glib/gmem.[hc]: removed g_slice_* skeletons.
+
+       * glib/glib.symbols: added g_slice_* symbols.
+
+       * configure.in: check for availability of posix_memalign(3), memalign(3)
+       and valloc(3). 
+
+       * glib/Makefile.am: added gslice.[hc].
+
+2005-12-01  Tor Lillqvist  <tml@novell.com>
+
+       * glib/gstdio.c (g_stat): In the Win32 implementation, strip
+       trailing slash(es) for non-root folders. stat() fails if non-root
+       folders are specified with trailing slashes. It's too much hassle
+       to demand that callers strip such slashes themselves, especially
+       as it is easy to get it wrong and strip the slash of a root
+       folder.
+       (g_rename): On NT-based Windows, use MoveFileEx() with
+       MOVEFILE_REPLACE_EXISTING to better match Unix behaviour.
+
+2005-11-28  Matthias Clasen  <mclasen@redhat.com>
+
+       Fix G_STMT_START / G_STMT_END on Solaris.  (#321972,
+       Andrew Paprocki)
+       
+       * configure.in: Check whether do { } while (0) works.
+
+       * glib/gmacros.h: Use do { } while (0) for G_STMT_START / 
+       G_STMT_END if it works.
+       
+2005-11-28  Matthias Clasen  <mclasen@redhat.com>
+
+       * glib/gthread.c (g_static_rw_lock_wait, g_static_rw_lock_signal): 
+       * glib/gnode.c (g_node_depth_traverse_level): 
+       * glib/gmem.c (g_allocator_new): 
+       * glib/ghash.c (g_hash_table_unref, g_hash_table_destroy) 
+       (g_hash_table_foreach_remove_or_steal): Silence compiler
+       warnings.
+
+2005-11-27  Matthias Clasen  <mclasen@redhat.com>
+
+       * glib/gunicollate.c (g_utf8_collate_key_for_filename): 
+       Don't read beyond len.  (#322520, Christian Persch)
+
+Wed Nov 23 17:34:01 2005  Tim Janik  <timj@imendio.com>
+
+       * glib/gdataset.c: access datalist flags via atomic pointer access
+       functions, instead of acquiring the dataset lock. this is faster and
+       also matches the atomic pointer readouts in gdatalistprivate.h and
+       direct pointer modifications required by gobject.c.
+
 Wed Nov 23 13:35:31 2005  Tim Janik  <timj@gtk.org>
 
        * glib/gdataset.c: streamlined initialization code somewhat,