mirror of
https://gitlab.gnome.org/GNOME/glib.git
synced 2024-12-26 15:36:14 +01:00
f911ead382
2008-09-23 Tor Lillqvist <tml@novell.com> * glib/gmain.c (poll_rest) [Win32]: Fix embarrassing bug: I was passing an incorrect third parameter to memmove(), had forgotten to multiply by the size of the table entry. Just use a for loop instead, clearer. Odd I didn't notice when testing this code. svn path=/trunk/; revision=7533
79 lines
3.2 KiB
Plaintext
79 lines
3.2 KiB
Plaintext
2008-09-23 Tor Lillqvist <tml@novell.com>
|
|
|
|
* glib/gmain.c (poll_rest) [Win32]: Fix embarrassing bug: I was
|
|
passing an incorrect third parameter to memmove(), had forgotten
|
|
to multiply by the size of the table entry. Just use a for loop
|
|
instead, clearer. Odd I didn't notice when testing this code.
|
|
|
|
2008-09-22 Nelson Benítez León <nbenitez@svn.gnome.org>
|
|
|
|
* gio/gioenums.h: Add new GFileCopyFlag, to leave target file with
|
|
default perms, instead of setting the source file perms, in a copy
|
|
operation.
|
|
|
|
* gio/gfile.c (g_file_copy_attributes)
|
|
(build_attribute_list_for_copy)
|
|
(should_copy): Not copy "unix::mode" attribute if we have received
|
|
G_FILE_COPY_TARGET_DEFAULT_PERMS flag.
|
|
|
|
2008-09-19 Hans Petter Jansson <hpj@novell.com>
|
|
|
|
Rewrite most of GHashTable to use open addressing with quadratic
|
|
probing instead of chaining. This has the potential to reduce memory
|
|
fragmentation significantly, while being slightly faster due to
|
|
better locality and no need to call alloc/free functions for nodes.
|
|
Benchmarks suggest it also uses less memory overall.
|
|
|
|
* glib/ghash.c (prime_mod): Table of suitable primes for
|
|
initial-probe distribution.
|
|
(g_hash_table_set_shift): New function.
|
|
(g_hash_table_find_closest_shift): New function.
|
|
(g_hash_table_set_shift_from_size): New function.
|
|
(g_hash_table_lookup_node_for_insertion): New function.
|
|
(g_hash_table_lookup_node): Rewritten to return node index instead of
|
|
pointer, use quadratic probe on flat table, and not return insertion
|
|
data. The latter saves some computation for read-only lookups.
|
|
(g_hash_table_remove_node): Rewrite to take a pointer directly to the
|
|
node structure to remove, and clear that. Remove unlinking code.
|
|
(g_hash_table_remove_all_nodes): Rewrite to not clear nodes
|
|
individually, but en masse using memset () after potentially calling
|
|
notify functions.
|
|
(iter_remove_or_steal): Use new data structure and algorithm. Vastly
|
|
simplified - now just a call to g_hash_table_remove_node ().
|
|
(g_hash_table_resize): New resize code, re-indexing with new prime
|
|
and cleaning up tombstones.
|
|
(g_hash_table_maybe_resize): Table may hold 8 buckets minimum, no less
|
|
than 1/4 load excluding tombstones, and no more than 15/16 load
|
|
including tombstones. These numbers are the results of a lot of
|
|
benchmarking with multiple complex applications, and should not be
|
|
changed lightly.
|
|
(g_hash_table_iter_next)
|
|
(g_hash_table_lookup)
|
|
(g_hash_table_lookup_extended)
|
|
(g_hash_table_insert_internal)
|
|
(g_hash_table_remove_internal)
|
|
(g_hash_table_foreach_remove_or_steal)
|
|
(g_hash_table_foreach)
|
|
(g_hash_table_find)
|
|
(g_hash_table_get_keys)
|
|
(g_hash_table_get_values): Use new data structure and algorithm,
|
|
fairly trivial changes.
|
|
|
|
2008-09-19 Tor Lillqvist <tml@novell.com>
|
|
|
|
* glib-zip.in: Look for man pages in share/man.
|
|
|
|
* glib/gutils.c (_glib_get_dll_directory)
|
|
* glib/gspawn-win32.c (do_spawn_with_pipes): Be a bit less
|
|
restrictive, look for the helper programs in the same folder where
|
|
the GLib DLL is, not necessarily in a "bin" subfolder of the top
|
|
GLib installation folder.
|
|
|
|
2008-09-18 Matthias Clasen <mclasen@redhat.com>
|
|
|
|
* configure.in: Bump version to 2.19.0
|
|
|
|
* ChangeLog.pre-2-18: rotate ChangeLog
|
|
|
|
* === branch for 2.18 ===
|