Logo AND Algorithmique Numérique Distribuée

Public GIT Repository
[mc] Move MC malloc introspection code in simgrid::mc
[simgrid.git] / src / mc / malloc.hpp
diff --git a/src/mc/malloc.hpp b/src/mc/malloc.hpp
new file mode 100644 (file)
index 0000000..82acd86
--- /dev/null
@@ -0,0 +1,38 @@
+/* Copyright (c) 2010-2016. 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 (C) 1991, 1992 Free Software Foundation, Inc.
+   This file was then part of the GNU C Library. */
+
+#ifndef SIMGRID_MC_MALLOC_HPP
+#define SIMGRID_MC_MALLOC_HPP
+
+#include <vector>
+
+#include <xbt/dynar.h>
+#include <xbt/mmalloc.h>
+
+#include "src/mc/mc_forward.hpp"
+#include "src/mc/Process.hpp"
+
+namespace simgrid {
+namespace mc {
+
+XBT_PRIVATE int mmalloc_compare_heap(Snapshot* snapshot1, Snapshot* snapshot2);
+XBT_PRIVATE int mmalloc_linear_compare_heap(xbt_mheap_t heap1, xbt_mheap_t heap2);
+XBT_PRIVATE int init_heap_information(xbt_mheap_t heap1, xbt_mheap_t heap2,
+                          std::vector<simgrid::mc::IgnoredHeapRegion>* i1,
+                          std::vector<simgrid::mc::IgnoredHeapRegion>* i2);
+XBT_PRIVATE int compare_heap_area(
+  int process_index, const void *area1, const void* area2,
+  Snapshot* snapshot1, Snapshot* snapshot2,
+  xbt_dynar_t previous, Type* type, int pointer_level);
+XBT_PRIVATE void reset_heap_information(void);
+
+}
+}
+
+#endif