From: Tim Janik Date: Wed, 4 Jan 2006 13:03:22 +0000 (+0000) Subject: don't reverse chunk order when creating magazines, so we hand out chunks X-Git-Url: http://git.openbox.org/?a=commitdiff_plain;h=f2613bf9ed1dcf0bd2e8b131d20b50d146a6316d;p=dana%2Fcg-glib.git don't reverse chunk order when creating magazines, so we hand out chunks Wed Jan 4 13:33:25 2006 Tim Janik * glib/gslice.c (magazine_cache_pop_magazine): don't reverse chunk order when creating magazines, so we hand out chunks with ascending adresses. --- diff --git a/ChangeLog b/ChangeLog index 333faad6..46b5b37e 100644 --- a/ChangeLog +++ b/ChangeLog @@ -1,3 +1,9 @@ +Wed Jan 4 13:33:25 2006 Tim Janik + + * 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 * configure.in: Added "ml" "zh_HK" to ALL_LINGUAS. diff --git a/ChangeLog.pre-2-10 b/ChangeLog.pre-2-10 index 333faad6..46b5b37e 100644 --- a/ChangeLog.pre-2-10 +++ b/ChangeLog.pre-2-10 @@ -1,3 +1,9 @@ +Wed Jan 4 13:33:25 2006 Tim Janik + + * 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 * configure.in: Added "ml" "zh_HK" to ALL_LINGUAS. diff --git a/ChangeLog.pre-2-12 b/ChangeLog.pre-2-12 index 333faad6..46b5b37e 100644 --- a/ChangeLog.pre-2-12 +++ b/ChangeLog.pre-2-12 @@ -1,3 +1,9 @@ +Wed Jan 4 13:33:25 2006 Tim Janik + + * 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 * configure.in: Added "ml" "zh_HK" to ALL_LINGUAS. diff --git a/glib/gslice.c b/glib/gslice.c index fdfa1519..74784d39 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 {