-/* Declarations for `mmalloc' and friends.
- Copyright 1990, 1991, 1992 Free Software Foundation
+/* Declarations for `mmalloc' and friends. */
- Written May 1989 by Mike Haertel.
- Heavily modified Mar 1992 by Fred Fish. (fnf@cygnus.com) */
-
-/* Copyright (c) 2010. The SimGrid Team.
+/* Copyright (c) 2010-2014. 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. */
+/* Copyright 1990, 1991, 1992 Free Software Foundation
+
+ Written May 1989 by Mike Haertel.
+ Heavily modified Mar 1992 by Fred Fish. (fnf@cygnus.com) */
+
#ifndef __MMPRIVATE_H
#define __MMPRIVATE_H 1
};
typedef struct s_heap_area{
+ int valid;
int block;
int fragment;
}s_heap_area_t, *heap_area_t;
/* Heap information for a busy block. */
struct {
size_t nfree; /* Free fragments in a fragmented block. */
- short frag_size[MAX_FRAGMENT_PER_BLOCK];
+ ssize_t frag_size[MAX_FRAGMENT_PER_BLOCK];
//void *bt[MAX_FRAGMENT_PER_BLOCK][XBT_BACKTRACE_SIZE]; /* Where it was malloced (or realloced lastly) */
int ignore[MAX_FRAGMENT_PER_BLOCK];
- heap_area_t equal_to[MAX_FRAGMENT_PER_BLOCK];
} busy_frag;
struct {
size_t size; /* Size (in blocks) of a large cluster. */
//void *bt[XBT_BACKTRACE_SIZE]; /* Where it was malloced (or realloced lastly) */
//int bt_size;
int ignore;
- heap_area_t equal_to;
} busy_block;
/* Heap information for a free block (that may be the first of a free cluster). */
struct {