projects
/
platform
/
upstream
/
glib.git
/ commitdiff
commit
grep
author
committer
pickaxe
?
search:
re
summary
|
shortlog
|
log
|
commit
| commitdiff |
tree
raw
|
patch
|
inline
| side by side (parent:
7693b0a
)
BugĀ 448888 - don't init g_slice for always-malloc
author
Ryan Lortie
<desrt@desrt.ca>
Sat, 23 Jan 2010 01:18:58 +0000
(20:18 -0500)
committer
Ryan Lortie
<desrt@desrt.ca>
Sat, 23 Jan 2010 01:18:58 +0000
(20:18 -0500)
glib/gslice.c
patch
|
blob
|
history
diff --git
a/glib/gslice.c
b/glib/gslice.c
index
70f9efa
..
c73884b
100644
(file)
--- a/
glib/gslice.c
+++ b/
glib/gslice.c
@@
-325,14
+325,24
@@
g_slice_init_nomessage (void)
/* we can only align to system page size */
allocator->max_page_size = sys_page_size;
#endif
/* we can only align to system page size */
allocator->max_page_size = sys_page_size;
#endif
+ if (allocator->config.always_malloc)
+ {
+ allocator->contention_counters = NULL;
+ allocator->magazines = NULL;
+ allocator->slab_stack = NULL;
+ }
+ else
+ {
+ allocator->contention_counters = g_new0 (guint, MAX_SLAB_INDEX (allocator));
+ allocator->magazines = g_new0 (ChunkLink*, MAX_SLAB_INDEX (allocator));
+ allocator->slab_stack = g_new0 (SlabInfo*, MAX_SLAB_INDEX (allocator));
+ }
+
allocator->magazine_mutex = NULL; /* _g_slice_thread_init_nomessage() */
allocator->magazine_mutex = NULL; /* _g_slice_thread_init_nomessage() */
- allocator->magazines = g_new0 (ChunkLink*, MAX_SLAB_INDEX (allocator));
- allocator->contention_counters = g_new0 (guint, MAX_SLAB_INDEX (allocator));
allocator->mutex_counter = 0;
allocator->stamp_counter = MAX_STAMP_COUNTER; /* force initial update */
allocator->last_stamp = 0;
allocator->slab_mutex = NULL; /* _g_slice_thread_init_nomessage() */
allocator->mutex_counter = 0;
allocator->stamp_counter = MAX_STAMP_COUNTER; /* force initial update */
allocator->last_stamp = 0;
allocator->slab_mutex = NULL; /* _g_slice_thread_init_nomessage() */
- allocator->slab_stack = g_new0 (SlabInfo*, MAX_SLAB_INDEX (allocator));
allocator->color_accu = 0;
magazine_cache_update_stamp();
/* values cached for performance reasons */
allocator->color_accu = 0;
magazine_cache_update_stamp();
/* values cached for performance reasons */