summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorTim Janik <timj@gtk.org>2006-01-04 13:03:22 +0000
committerTim Janik <timj@src.gnome.org>2006-01-04 13:03:22 +0000
commitf2613bf9ed1dcf0bd2e8b131d20b50d146a6316d (patch)
tree985afef2fa0aa932ba189713fdc081827b515607
parent9c9e9534402d3152fa22b9b7a8937f8317381862 (diff)
downloadglib-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--ChangeLog6
-rw-r--r--ChangeLog.pre-2-106
-rw-r--r--ChangeLog.pre-2-126
-rw-r--r--glib/gslice.c15
4 files changed, 27 insertions, 6 deletions
diff --git a/ChangeLog b/ChangeLog
index 333faad62..46b5b37ef 100644
--- a/ChangeLog
+++ b/ChangeLog
@@ -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
{