X-Git-Url: http://info.iut-bm.univ-fcomte.fr/pub/gitweb/simgrid.git/blobdiff_plain/873bf1e1e1e844397bb532a80deee528563bc006..ac151e89b9b3cad0074cd85f01334a3404132082:/include/xbt/mmalloc.h?ds=sidebyside diff --git a/include/xbt/mmalloc.h b/include/xbt/mmalloc.h index e4bf2a5595..6523a01304 100644 --- a/include/xbt/mmalloc.h +++ b/include/xbt/mmalloc.h @@ -23,6 +23,8 @@ #include "xbt/dynar.h" #include "xbt/dict.h" +SG_BEGIN_DECL() + /* Datatype representing a separate heap. The whole point of the mmalloc module * is to allow several such heaps in the process. It thus works by redefining * all the classical memory management functions (malloc and friends) with an @@ -30,6 +32,7 @@ * * The heap structure itself is an opaque object that shouldnt be messed with. */ +typedef struct mdesc s_xbt_mheap_t; typedef struct mdesc *xbt_mheap_t; /* Allocate SIZE bytes of memory (and memset it to 0). */ @@ -60,7 +63,7 @@ XBT_PUBLIC( void ) *xbt_mheap_destroy(xbt_mheap_t md); XBT_PUBLIC( xbt_mheap_t ) mmalloc_get_default_md(void); /* To change the heap used when using the legacy version malloc/free/realloc and such */ -void mmalloc_set_current_heap(xbt_mheap_t new_heap); +xbt_mheap_t mmalloc_set_current_heap(xbt_mheap_t new_heap); xbt_mheap_t mmalloc_get_current_heap(void); struct s_mc_snapshot; @@ -69,11 +72,15 @@ struct s_dw_type; int mmalloc_compare_heap(struct s_mc_snapshot* snapshot1, struct s_mc_snapshot* snapshot2); int mmalloc_linear_compare_heap(xbt_mheap_t heap1, xbt_mheap_t heap2); int init_heap_information(xbt_mheap_t heap1, xbt_mheap_t heap2, xbt_dynar_t to_ignore1, xbt_dynar_t to_ignore2); -int compare_heap_area(void *area1, void* area2, struct s_mc_snapshot* snapshot1, struct s_mc_snapshot* snapshot2, xbt_dynar_t previous, struct s_dw_type *type, int pointer_level); +int compare_heap_area(int process_index, const void *area1, const void* area2, struct s_mc_snapshot* snapshot1, struct s_mc_snapshot* snapshot2, xbt_dynar_t previous, struct s_dw_type *type, int pointer_level); void reset_heap_information(void); size_t mmalloc_get_bytes_used(xbt_mheap_t); ssize_t mmalloc_get_busy_size(xbt_mheap_t, void *ptr); +void* malloc_no_memset(size_t n); + +SG_END_DECL() + #endif #endif /* MMALLOC_H */