From 8a49910acfe8e851aa549938d3d8e8b356f59219 Mon Sep 17 00:00:00 2001
From: Ansgar Burchardt <Ansgar.Burchardt@tu-dresden.de>
Date: Fri, 27 Apr 2018 16:25:35 +0200
Subject: [PATCH] DDD: remove memory allocation from heap structure

UG's heap only wraps malloc/free anyway.
---
 parallel/ddd/ctrl/CMakeLists.txt   |  2 --
 parallel/ddd/ctrl/cons.cc          | 52 ------------------------------
 parallel/ddd/dddi.h                | 18 -----------
 parallel/ddd/include/memmgr.h      |  4 ---
 parallel/ddd/join/jcmds.cc         | 14 --------
 parallel/ddd/memmgrs/memmgr_std.cc | 24 --------------
 parallel/ddd/xfer/CMakeLists.txt   |  2 --
 parallel/dddif/memmgr.cc           | 22 -------------
 8 files changed, 138 deletions(-)

diff --git a/parallel/ddd/ctrl/CMakeLists.txt b/parallel/ddd/ctrl/CMakeLists.txt
index d73c5b8c4..f0b9977a7 100644
--- a/parallel/ddd/ctrl/CMakeLists.txt
+++ b/parallel/ddd/ctrl/CMakeLists.txt
@@ -1,5 +1,3 @@
-add_definitions(-DConsMemFromHeap)
-
 if(MPI_C_FOUND)
   ug_add_dim_libs(ctrl OBJECT SOURCES cons.cc debug.cc stat.cc)
 endif()
diff --git a/parallel/ddd/ctrl/cons.cc b/parallel/ddd/ctrl/cons.cc
index 1a5774e8c..36b0e2e72 100644
--- a/parallel/ddd/ctrl/cons.cc
+++ b/parallel/ddd/ctrl/cons.cc
@@ -106,27 +106,6 @@ struct CONSMSG
 
 
 
-/****************************************************************************/
-/*                                                                          */
-/* definition of exported global variables                                  */
-/*                                                                          */
-/****************************************************************************/
-
-
-
-/****************************************************************************/
-/*                                                                          */
-/* definition of variables global to this source file only (static!)        */
-/*                                                                          */
-/****************************************************************************/
-
-
-#ifdef ConsMemFromHeap
-static long theMarkKey;
-#endif
-
-
-
 /****************************************************************************/
 /*                                                                          */
 /* routines                                                                 */
@@ -146,26 +125,6 @@ void ddd_ConsExit(DDD::DDDContext&)
 {}
 
 
-#ifdef ConsMemFromHeap
-static void *cons_AllocHeap (size_t size)
-{
-  void *buffer = AllocHeap(size, theMarkKey);
-  return(buffer);
-}
-
-static void *cons_AllocSend (size_t size)
-{
-  void *buffer = AllocTmpReq(size, TMEM_ANY);
-  return(buffer);
-}
-
-static void cons_FreeSend (void *buffer)
-{
-  FreeTmpReq(buffer, 0, TMEM_ANY);
-}
-#endif
-
-
 /****************************************************************************/
 
 static int ConsBuildMsgInfos(DDD::DDDContext& context, CONS_INFO *allItems, int nXferItems, CONSMSG **theMsgs)
@@ -677,12 +636,6 @@ int DDD_ConsCheck(DDD::DDDContext& context)
   int cpl_errors;
   int total_errors=0;
 
-        #ifdef ConsMemFromHeap
-  MarkHeap(&theMarkKey);
-  LC_SetMemMgrRecv(context, cons_AllocHeap, NULL);
-  LC_SetMemMgrSend(context, cons_AllocSend, cons_FreeSend);
-        #endif
-
   DDD_Flush();
   Synchronize(context.ppifContext());
   if (DDD_GetOption(context, OPT_QUIET_CONSCHECK)==OPT_OFF)
@@ -723,11 +676,6 @@ int DDD_ConsCheck(DDD::DDDContext& context)
   }
 
 
-        #ifdef ConsMemFromHeap
-  ReleaseHeap(theMarkKey);
-  LC_SetMemMgrDefault(context);
-        #endif
-
   return(total_errors);
 }
 
diff --git a/parallel/ddd/dddi.h b/parallel/ddd/dddi.h
index 7551d81ac..e397bf434 100644
--- a/parallel/ddd/dddi.h
+++ b/parallel/ddd/dddi.h
@@ -340,18 +340,6 @@ static char *mem_ptr;
 #define AllocObj(s,t,p,a) memmgr_AllocOMEM((size_t)s,(int)t,(int)p,(int)a)
 
 
-#ifdef CheckHeapMem
-#define AllocHeap(s,key)  \
-  (dummy_ptr = (mem_ptr=(char *)memmgr_AllocHMEM(SST+(size_t)(s), key)) != NULL ? \
-               mem_ptr+SST : NULL);                                     \
-  if (mem_ptr!=NULL) GET_SSTVAL(dummy_ptr) = s;                            \
-  printf("%4d: MALL Heap adr=%08x size=%ld file=%s line=%d\n",             \
-         me,dummy_ptr,s,__FILE__,__LINE__)
-#else
-#define AllocHeap(s,key)    memmgr_AllocHMEM((size_t)(s), key)
-#endif
-
-
 #ifdef CheckPMEM
 #define AllocFix(s)  \
   (dummy_ptr = (mem_ptr=(char *)memmgr_AllocPMEM(SST+(size_t)s)) != NULL ? \
@@ -489,12 +477,6 @@ static char *mem_ptr;
 
 
 
-/* mapping mark/release heap calls to memmgr calls */
-#define MarkHeap          memmgr_MarkHMEM
-#define ReleaseHeap       memmgr_ReleaseHMEM
-
-
-
 /****************************************************************************/
 /*                                                                          */
 /* function declarations                                                    */
diff --git a/parallel/ddd/include/memmgr.h b/parallel/ddd/include/memmgr.h
index 117cb3117..3fe428f20 100644
--- a/parallel/ddd/include/memmgr.h
+++ b/parallel/ddd/include/memmgr.h
@@ -108,10 +108,6 @@ void  memmgr_FreeAMEM (void *mem);
 void *memmgr_AllocTMEM (long unsigned int size, int kind);
 void  memmgr_FreeTMEM (void *mem, int kind);
 
-void  memmgr_MarkHMEM (long *);
-void *memmgr_AllocHMEM (size_t size, long);
-void  memmgr_ReleaseHMEM (long);
-
 void  memmgr_Init ();
 void  memmgr_Report ();
 
diff --git a/parallel/ddd/join/jcmds.cc b/parallel/ddd/join/jcmds.cc
index af67f90cd..464aa1494 100644
--- a/parallel/ddd/join/jcmds.cc
+++ b/parallel/ddd/join/jcmds.cc
@@ -769,13 +769,6 @@ DDD_RET DDD_JoinEnd(DDD::DDDContext& context)
 
 
 
-        #ifdef JoinMemFromHeap
-  MarkHeap();
-  LC_SetMemMgr(context,
-               memmgr_AllocTMEM, memmgr_FreeTMEM,
-               memmgr_AllocHMEM, NULL);
-        #endif
-
   STAT_SET_MODULE(DDD_MODULE_JOIN);
   STAT_ZEROALL;
 
@@ -1118,13 +1111,6 @@ DDD_RET DDD_JoinEnd(DDD::DDDContext& context)
 
 
 
-        #ifdef JoinMemFromHeap
-  ReleaseHeap();
-  LC_SetMemMgr(context,
-               memmgr_AllocTMEM, memmgr_FreeTMEM,
-               memmgr_AllocTMEM, memmgr_FreeTMEM);
-        #endif
-
 #       if DebugJoin<=4
   Dune::dverb << "JoinEnd, before IFAllFromScratch().\n";
 #       endif
diff --git a/parallel/ddd/memmgrs/memmgr_std.cc b/parallel/ddd/memmgrs/memmgr_std.cc
index 495d30cd0..6acd7308a 100644
--- a/parallel/ddd/memmgrs/memmgr_std.cc
+++ b/parallel/ddd/memmgrs/memmgr_std.cc
@@ -145,30 +145,6 @@ void memmgr_FreeTMEM (void *buffer)
 }
 
 
-void *memmgr_AllocHMEM (size_t size)
-{
-  void   *buffer;
-
-  buffer = malloc(size);
-  return(buffer);
-}
-
-
-void memmgr_FreeHMEM (void *buffer)
-{
-  free(buffer);
-}
-
-
-void memmgr_MarkHMEM (void)
-{}
-
-
-void memmgr_ReleaseHMEM (void)
-{}
-
-
-
 void memmgr_Init (void)
 {}
 
diff --git a/parallel/ddd/xfer/CMakeLists.txt b/parallel/ddd/xfer/CMakeLists.txt
index 42dcb6c8c..ea3fd1a06 100644
--- a/parallel/ddd/xfer/CMakeLists.txt
+++ b/parallel/ddd/xfer/CMakeLists.txt
@@ -7,8 +7,6 @@ set(SOURCES  cmds.cc
   unpack.cc
   xfer.cc)
 
-add_definitions(-DXferMemFromHeap)
-
 if(MPI_C_FOUND)
   ug_add_dim_libs(xfer OBJECT SOURCES ${SOURCES})
 endif()
diff --git a/parallel/dddif/memmgr.cc b/parallel/dddif/memmgr.cc
index 291a59ebc..14b7ba063 100644
--- a/parallel/dddif/memmgr.cc
+++ b/parallel/dddif/memmgr.cc
@@ -385,28 +385,6 @@ void memmgr_FreeTMEM (void *buffer, int kind)
 }
 
 
-/****************************************************************************/
-
-void memmgr_MarkHMEM (long *theMarkKey)
-{
-  INT myMarkKey;
-  MarkTmpMem(MGHEAP(dddctrl.currMG), &myMarkKey);
-  *theMarkKey = (long)myMarkKey;
-}
-
-void* memmgr_AllocHMEM (size_t size, long theMarkKey)
-{
-  void *buffer;
-  buffer = GetTmpMem(MGHEAP(dddctrl.currMG), size, (INT)theMarkKey);
-  return(buffer);
-}
-
-void memmgr_ReleaseHMEM (long theMarkKey)
-{
-  ReleaseTmpMem(MGHEAP(dddctrl.currMG), (INT)theMarkKey);
-}
-
-
 /****************************************************************************/
 /*
    memmgr_Init -
-- 
GitLab