-/* Copyright (c) 2010-2017. The SimGrid Team.
+/* Copyright (c) 2010-2019. The SimGrid Team.
* All rights reserved. */
/* This program is free software; you can redistribute it and/or modify it
return __mmalloc_current_heap;
}
-xbt_mheap_t mmalloc_set_current_heap(xbt_mheap_t new_heap)
-{
- xbt_mheap_t heap = __mmalloc_current_heap;
- __mmalloc_current_heap = new_heap;
- return heap;
-}
-
/* Override the malloc-like functions if MC is activated at compile time */
#if SIMGRID_HAVE_MC
return mm_fake_malloc(n);
}
-static void* mm_fake_realloc(void* XBT_ATTRIB_UNUSED p, size_t s)
+static void* mm_fake_realloc(XBT_ATTRIB_UNUSED void* p, size_t s)
{
return mm_fake_malloc(s);
}
-static void mm_fake_free(void* XBT_ATTRIB_UNUSED p)
+static void mm_fake_free(XBT_ATTRIB_UNUSED void* p)
{
// Nothing to do
}
/** Constructor functions used to initialize the malloc implementation
*/
-static void __attribute__((constructor(101))) mm_legacy_constructor()
+XBT_ATTRIB_CONSTRUCTOR(101) static void mm_legacy_constructor()
{
if (mm_initialized)
return;
#define GET_HEAP() __mmalloc_current_heap
-void* malloc_no_memset(size_t n)
-{
- if (!mm_initialized) {
- if (mm_initializing)
- return mm_fake_malloc(n);
- mm_legacy_constructor();
- }
-
- if (!__malloc_use_mmalloc) {
- return mm_real_malloc(n);
- }
-
- xbt_mheap_t mdp = GET_HEAP();
- if (!mdp)
- return NULL;
-
- LOCK(mdp);
- void *ret = mmalloc_no_memset(mdp, n);
- UNLOCK(mdp);
- return ret;
-}
-
void *malloc(size_t n)
{
if (!mm_initialized) {