diff options
author | Tim Janik <timj@gtk.org> | 2006-01-04 13:03:22 +0000 |
---|---|---|
committer | Tim Janik <timj@src.gnome.org> | 2006-01-04 13:03:22 +0000 |
commit | f2613bf9ed1dcf0bd2e8b131d20b50d146a6316d (patch) | |
tree | 985afef2fa0aa932ba189713fdc081827b515607 | |
parent | 9c9e9534402d3152fa22b9b7a8937f8317381862 (diff) | |
download | glib-f2613bf9ed1dcf0bd2e8b131d20b50d146a6316d.tar.gz |
don't reverse chunk order when creating magazines, so we hand out chunks
Wed Jan 4 13:33:25 2006 Tim Janik <timj@gtk.org>
* glib/gslice.c (magazine_cache_pop_magazine): don't reverse chunk
order when creating magazines, so we hand out chunks with ascending
adresses.
-rw-r--r-- | ChangeLog | 6 | ||||
-rw-r--r-- | ChangeLog.pre-2-10 | 6 | ||||
-rw-r--r-- | ChangeLog.pre-2-12 | 6 | ||||
-rw-r--r-- | glib/gslice.c | 15 |
4 files changed, 27 insertions, 6 deletions
@@ -1,3 +1,9 @@ +Wed Jan 4 13:33:25 2006 Tim Janik <timj@gtk.org> + + * glib/gslice.c (magazine_cache_pop_magazine): don't reverse chunk + order when creating magazines, so we hand out chunks with ascending + adresses. + 2006-01-04 Abel Cheung <maddog@linuxhall.org> * configure.in: Added "ml" "zh_HK" to ALL_LINGUAS. diff --git a/ChangeLog.pre-2-10 b/ChangeLog.pre-2-10 index 333faad62..46b5b37ef 100644 --- a/ChangeLog.pre-2-10 +++ b/ChangeLog.pre-2-10 @@ -1,3 +1,9 @@ +Wed Jan 4 13:33:25 2006 Tim Janik <timj@gtk.org> + + * glib/gslice.c (magazine_cache_pop_magazine): don't reverse chunk + order when creating magazines, so we hand out chunks with ascending + adresses. + 2006-01-04 Abel Cheung <maddog@linuxhall.org> * configure.in: Added "ml" "zh_HK" to ALL_LINGUAS. diff --git a/ChangeLog.pre-2-12 b/ChangeLog.pre-2-12 index 333faad62..46b5b37ef 100644 --- a/ChangeLog.pre-2-12 +++ b/ChangeLog.pre-2-12 @@ -1,3 +1,9 @@ +Wed Jan 4 13:33:25 2006 Tim Janik <timj@gtk.org> + + * glib/gslice.c (magazine_cache_pop_magazine): don't reverse chunk + order when creating magazines, so we hand out chunks with ascending + adresses. + 2006-01-04 Abel Cheung <maddog@linuxhall.org> * configure.in: Added "ml" "zh_HK" to ALL_LINGUAS. diff --git a/glib/gslice.c b/glib/gslice.c index fdfa15196..74784d39c 100644 --- a/glib/gslice.c +++ b/glib/gslice.c @@ -579,19 +579,22 @@ magazine_cache_pop_magazine (guint ix, { guint magazine_threshold = allocator_get_magazine_threshold (allocator, ix); gsize i, chunk_size = SLAB_CHUNK_SIZE (allocator, ix); - ChunkLink *current = NULL; + ChunkLink *chunk, *head; g_mutex_unlock (allocator->magazine_mutex); g_mutex_lock (allocator->slab_mutex); - for (i = 0; i < magazine_threshold; i++) + head = slab_allocator_alloc_chunk (chunk_size); + head->data = NULL; + chunk = head; + for (i = 1; i < magazine_threshold; i++) { - ChunkLink *chunk = slab_allocator_alloc_chunk (chunk_size); + chunk->next = slab_allocator_alloc_chunk (chunk_size); + chunk = chunk->next; chunk->data = NULL; - chunk->next = current; - current = chunk; } + chunk->next = NULL; g_mutex_unlock (allocator->slab_mutex); *countp = i; - return current; + return head; } else { |