X-Git-Url: http://info.iut-bm.univ-fcomte.fr/pub/gitweb/simgrid.git/blobdiff_plain/d37695654af494c87f28017306376b8c229aaec0..b9625f82f86db0674e911887addce45dca31b57f:/src/xbt/mmalloc/mmalloc.c diff --git a/src/xbt/mmalloc/mmalloc.c b/src/xbt/mmalloc/mmalloc.c index 5294d699f8..d3c26bbd26 100644 --- a/src/xbt/mmalloc/mmalloc.c +++ b/src/xbt/mmalloc/mmalloc.c @@ -1,6 +1,6 @@ /* Memory allocator `malloc'. */ -/* Copyright (c) 2010-2019. The SimGrid Team. All rights reserved. */ +/* Copyright (c) 2010-2020. The SimGrid Team. All rights reserved. */ /* This program is free software; you can redistribute it and/or modify it * under the terms of the license (GNU LGPL) which comes with this package. */ @@ -47,14 +47,14 @@ static void *align(struct mdesc *mdp, size_t size) return (result); } -/** Initialise heapinfo about the heapinfo pages :) +/** Initialize heapinfo about the heapinfo pages :) * */ -static void initialize_heapinfo_heapinfo(xbt_mheap_t mdp) +static void initialize_heapinfo_heapinfo(const s_xbt_mheap_t* mdp) { // Update heapinfo about the heapinfo pages (!): xbt_assert((uintptr_t) mdp->heapinfo % BLOCKSIZE == 0); - int block = BLOCK(mdp->heapinfo); + size_t block = BLOCK(mdp->heapinfo); size_t nblocks = mdp->heapsize * sizeof(malloc_info) / BLOCKSIZE; // Mark them as free: for (size_t j=0; j!=nblocks; ++j) { @@ -120,7 +120,7 @@ static void *register_morecore(struct mdesc *mdp, size_t size) malloc_info* newinfo = (malloc_info*)align(mdp, newsize * sizeof(malloc_info)); memcpy(newinfo, oldinfo, mdp->heapsize * sizeof(malloc_info)); - /* Initialise the new blockinfo : */ + /* Initialize the new blockinfo : */ memset((char*) newinfo + mdp->heapsize * sizeof(malloc_info), 0, (newsize - mdp->heapsize)* sizeof(malloc_info)); @@ -180,7 +180,7 @@ static void mmalloc_mark_used(xbt_mheap_t mdp, size_t block, size_t nblocks, siz mdp->heapstats.bytes_used += nblocks * BLOCKSIZE; } -/* Spliting mmalloc this way is mandated by a trick in mrealloc, that gives +/* Splitting mmalloc this way is mandated by a trick in mrealloc, that gives back the memory of big blocks to the system before reallocating them: we don't want to loose the beginning of the area when this happens */ void *mmalloc_no_memset(xbt_mheap_t mdp, size_t size) @@ -250,7 +250,7 @@ void *mmalloc_no_memset(xbt_mheap_t mdp, size_t size) result = mmalloc(mdp, BLOCKSIZE); // does not return NULL block = BLOCK(result); - mdp->heapinfo[block].type = log; + mdp->heapinfo[block].type = (int)log; /* Link all fragments but the first as free, and add the block to the swag of blocks containing free frags */ size_t i; for (i = 1; i < (size_t) (BLOCKSIZE >> log); ++i) { @@ -282,7 +282,9 @@ void *mmalloc_no_memset(xbt_mheap_t mdp, size_t size) block = MALLOC_SEARCH_START; while (mdp->heapinfo[block].free_block.size < blocks) { if (mdp->heapinfo[block].type >=0) { // Don't trust xbt_die and friends in malloc-level library, you fool! - fprintf(stderr,"Internal error: found a free block not marked as such (block=%lu type=%lu). Please report this bug.\n",(unsigned long)block,(unsigned long)mdp->heapinfo[block].type); + fprintf(stderr, + "Internal error: found a free block not marked as such (block=%zu type=%d). Please report this bug.\n", + block, mdp->heapinfo[block].type); abort(); }