/* MT safe */
#include "config.h"
-
-#include "gslice.h"
+#include "glibconfig.h"
#if defined HAVE_POSIX_MEMALIGN && defined POSIX_MEMALIGN_WITH_COMPLIANT_ALLOCS
# define HAVE_COMPLIANT_POSIX_MEMALIGN 1
#endif
-#ifdef HAVE_COMPLIANT_POSIX_MEMALIGN
+#if defined(HAVE_COMPLIANT_POSIX_MEMALIGN) && !defined(_XOPEN_SOURCE)
#define _XOPEN_SOURCE 600 /* posix_memalign() */
#endif
#include <stdlib.h> /* posix_memalign() */
#include <string.h>
#include <errno.h>
-#include "gmem.h" /* gslice.h */
-#include "gthreadprivate.h"
-#include "glib.h"
-#include "galias.h"
+
#ifdef HAVE_UNISTD_H
#include <unistd.h> /* sysconf() */
#endif
#include <stdio.h> /* fputs/fprintf */
+#include "gslice.h"
+
+#include "gmain.h"
+#include "gmem.h" /* gslice.h */
+#include "gstrfuncs.h"
+#include "gutils.h"
+#include "gtestutils.h"
+#include "gthread.h"
+#include "gthreadprivate.h"
+#include "glib_trace.h"
/* the GSlice allocator is split up into 4 layers, roughly modelled after the slab
* allocator and magazine extensions as outlined in:
mem = g_malloc (mem_size);
if (G_UNLIKELY (allocator->config.debug_blocks))
smc_notify_alloc (mem, mem_size);
+
+ TRACE (GLIB_SLICE_ALLOC((void*)mem, mem_size));
+
return mem;
}
memset (mem_block, 0, mem_size);
g_free (mem_block);
}
+ TRACE (GLIB_SLICE_FREE((void*)mem_block, mem_size));
}
void
*/
}
#endif /* G_ENABLE_DEBUG */
-
-#define __G_SLICE_C__
-#include "galiasdef.c"