Changes to maintain the older scheme for isomalloc
[charm.git] / src / conv-core / global-elfgot.C
index 27df809ca8971ea6090da0fcf75c1295638694d6..8f50cce5b2ebedcaabaa58d180efc24d8702b3d1 100644 (file)
@@ -386,7 +386,11 @@ public:
     ~CtgGlobalStruct() {
       if (data_seg) {
         if (CmiMemoryIs(CMI_MEMORY_IS_ISOMALLOC))
-        { } //CmiIsomallocFree(data_seg);
+        {
+#if !CMK_USE_MEMPOOL_ISOMALLOC
+          CmiIsomallocFree(data_seg);
+#endif
+        }
         else
           free(data_seg);
         data_seg = NULL;
@@ -400,8 +404,12 @@ void CtgGlobalStruct::pup(PUP::er &p) {
     p | seg_size;
         /* global data segment need to be isomalloc pupped */
     if (CmiMemoryIs(CMI_MEMORY_IS_ISOMALLOC))
+#if CMK_USE_MEMPOOL_ISOMALLOC
       pup_bytes(&p, &data_seg, sizeof(void*));
-    else {
+#else
+      CmiIsomallocPup(&p, &data_seg);
+#endif
+      else {
       if (p.isUnpacking()) allocate(seg_size, NULL);
       p((char *)data_seg, seg_size);
     }