Changeset: 7bda282f0660 for MonetDB
URL: http://dev.monetdb.org/hg/MonetDB?cmd=changeset;node=7bda282f0660
Modified Files:
        gdk/gdk_utils.mx
Branch: default
Log Message:

Replace MX macros with CPP macros; remove GDK_MEM_TRACE code.


diffs (truncated from 625 to 300 lines):

diff --git a/gdk/gdk_utils.mx b/gdk/gdk_utils.mx
--- a/gdk/gdk_utils.mx
+++ b/gdk/gdk_utils.mx
@@ -369,22 +369,26 @@ int GDK_mem_allocs = 0;
 int GDK_vm_trim = 1;
 
 /* at least each 50M of memory increase, BBPtrim is run */
-#define CHKMEM(meminc, vminc) do {                                     \
-       int memchk, vmchk; \
-       malloc_lock(); \
-       memchk = (meminc>0 && (++GDK_mem_allocs>=1000 || 
meminc>LL_CONSTANT(50000))); \
-       vmchk = (vminc>0 && (++GDK_vm_allocs>=10 || 
vminc>LL_CONSTANT(5000000))); \
-       malloc_unlock(); \
-       if (memchk || vmchk) GDKmemchk(memchk, vmchk);                  \
-} while (0)
+#define CHKMEM(meminc, vminc)                                          \
+       do {                                                            \
+               int memchk, vmchk;                                      \
+                                                                       \
+               malloc_lock();                                          \
+               memchk = (meminc>0 && (++GDK_mem_allocs>=1000 || 
meminc>LL_CONSTANT(50000))); \
+               vmchk = (vminc>0 && (++GDK_vm_allocs>=10 || 
vminc>LL_CONSTANT(5000000))); \
+               malloc_unlock();                                        \
+               if (memchk || vmchk)                                    \
+                       GDKmemchk(memchk, vmchk);                       \
+       } while (0)
 
 #define SEG_SIZE(x,y)   
((x)+(((x)&((1<<(y))-1))?(1<<(y))-((x)&((1<<(y))-1)):0))
 #define MAX_BIT         ((int) (sizeof(ssize_t)<<3))
 
 /* histogram update macro */
-#define GDKmallidx(idx,size)                           \
-       {                                               \
+#define GDKmallidx(idx, size)                          \
+       do {                                            \
                int _mask;                              \
+                                                       \
                if (size < 128) {                       \
                        _mask = (1<<6);                 \
                        idx = 7;                        \
@@ -396,16 +400,12 @@ int GDK_vm_trim = 1;
                        if (_mask&size) break;          \
                        _mask >>=1;                     \
                }                                       \
-       }
+       } while (0)
 
 volatile size_t GDK_mallocedbytes_estimate = 0;
 static ssize_t GDK_mem_cursize = 0;
 static ssize_t GDK_vm_cursize = 0;
 
-#ifdef GDK_MEM_TRACE
-static int mtrace = 0;
-#endif
-
 #ifndef NDEBUG
 static MT_Lock mbyteslock;
 #define malloc_lock() gdk_set_lock(mbyteslock, "malloc")
@@ -624,108 +624,106 @@ GDKmem_heapcheck(int t)
        GDK_heapcheck_last = t;
 }
 
-/*
- * @- heapinc(size_t _memdelta, void* _blk)
- */
-@= heapinc
-       {
-               size_t _memdelta = (size_t) @1;
-#ifdef GDK_MEM_TRACE
-               void*  _blk = (void*) @2;
-
-               if (mtrace) {
-                       int _idx = add_stack(stackBat);
-
-                       add_mem(memBat, _blk, _idx);
-               }
-#endif
-               malloc_lock();
-               GDK_mallocedbytes_estimate += _memdelta;
-               malloc_unlock();
 #ifdef GDK_MEM_KEEPHISTO
-               {
-                       int _idx;
-
-                       GDKmallidx(_idx, _memdelta);
-                       GDK_nmallocs[_idx]++;
-               }
-#endif
-       }
-
-@
- * @- heapdec(size_t memdelta, void* _blk)
-@= heapdec
-       {
-               size_t _memdelta = (size_t) @1;
-#ifdef GDK_MEM_TRACE
-               void*  _blk = (void*) @2;
-
-               if (mtrace) {
-                       del_mem(memBat,_blk);
-               }
+#define heapinc(_memdelta)                                     \
+       do {                                                    \
+               int _idx;                                       \
+                                                               \
+               malloc_lock();                                  \
+               GDK_mallocedbytes_estimate += (_memdelta);      \
+               malloc_unlock();                                \
+               GDKmallidx(_idx, _memdelta);                    \
+               GDK_nmallocs[_idx]++;                           \
+       } while (0)
+#define heapdec(memdelta)                                              \
+       do {                                                            \
+               size_t _memdelta = (size_t) (memdelta);                 \
+               int _idx;                                               \
+                                                                       \
+               malloc_lock();                                          \
+               if (_memdelta > GDK_mallocedbytes_estimate) {           \
+                       /* clearly, the stats are off: it should never  \
+                        * become less-than-zero */                     \
+                       GDKmem_heapcheck(GDKms());                      \
+               } else {                                                \
+                       GDK_mallocedbytes_estimate -= _memdelta;        \
+               }                                                       \
+               malloc_unlock();                                        \
+               GDKmallidx(_idx, _memdelta);                            \
+               GDK_nmallocs[_idx]--;                                   \
+       } while (0)
+#else
+#define heapinc(_memdelta)                                     \
+       do {                                                    \
+               malloc_lock();                                  \
+               GDK_mallocedbytes_estimate += (_memdelta);      \
+               malloc_unlock();                                \
+       } while (0)
+#define heapdec(memdelta)                                              \
+       do {                                                            \
+               size_t _memdelta = (size_t) (memdelta);                 \
+               malloc_lock();                                          \
+               if (_memdelta > GDK_mallocedbytes_estimate) {           \
+                       /* clearly, the stats are off: it should never  \
+                        * become less-than-zero */                     \
+                       GDKmem_heapcheck(GDKms());                      \
+               } else {                                                \
+                       GDK_mallocedbytes_estimate -= _memdelta;        \
+               }                                                       \
+               malloc_unlock();                                        \
+       } while (0)
 #endif
 
-               malloc_lock();
-               if (_memdelta > GDK_mallocedbytes_estimate) {
-                       /* clearly, the stats are off: it should never become 
less-than-zero */
-                       GDKmem_heapcheck(GDKms());
-               } else {
-                       GDK_mallocedbytes_estimate -= _memdelta;
-               }
-               malloc_unlock();
-#ifdef GDK_MEM_KEEPHISTO
-               {
-                       int _idx;
+#ifdef GDK_VM_KEEPHISTO
+#define meminc(memdelta, vmdelta, fcn)                                 \
+       do {                                                            \
+               ssize_t _memdelta = (ssize_t) (memdelta);               \
+               ssize_t _vmdelta = (ssize_t) SEG_SIZE((vmdelta),MT_VMUNITLOG); \
+               int _idx;                                               \
+                                                                       \
+               gdk_set_lock(GDKthreadLock, fcn);                       \
+               GDK_mem_cursize += _memdelta;                           \
+               GDKmallidx(_idx, _vmdelta);                             \
+               GDK_vm_nallocs[_idx]++;                                 \
+               GDK_vm_cursize += _vmdelta;                             \
+               gdk_unset_lock(GDKthreadLock, fcn);                     \
+       } while (0)
+#define memdec(memdelta, vmdelta, fcn)                                 \
+       do {                                                            \
+               ssize_t _memdelta = (ssize_t) (memdelta);               \
+               ssize_t _vmdelta = (ssize_t) SEG_SIZE((vmdelta),MT_VMUNITLOG); \
+               int _idx;                                               \
+                                                                       \
+               gdk_set_lock(GDKthreadLock, fcn);                       \
+               GDK_mem_cursize -= _memdelta;                           \
+               GDKmallidx(_idx, _vmdelta);                             \
+               GDK_vm_nallocs[_idx]--;                                 \
+               GDK_vm_cursize -= _vmdelta;                             \
+               gdk_unset_lock(GDKthreadLock, fcn);                     \
+       } while (0)
+#else
+#define meminc(memdelta, vmdelta, fcn)                                 \
+       do {                                                            \
+               ssize_t _memdelta = (ssize_t) (memdelta);               \
+               ssize_t _vmdelta = (ssize_t) SEG_SIZE((vmdelta),MT_VMUNITLOG); \
+                                                                       \
+               gdk_set_lock(GDKthreadLock, fcn);                       \
+               GDK_mem_cursize += _memdelta;                           \
+               GDK_vm_cursize += _vmdelta;                             \
+               gdk_unset_lock(GDKthreadLock, fcn);                     \
+       } while (0)
+#define memdec(memdelta, vmdelta, fcn)                                 \
+       do {                                                            \
+               ssize_t _memdelta = (ssize_t) (memdelta);               \
+               ssize_t _vmdelta = (ssize_t) SEG_SIZE((vmdelta),MT_VMUNITLOG); \
+                                                                       \
+               gdk_set_lock(GDKthreadLock, fcn);                       \
+               GDK_mem_cursize -= _memdelta;                           \
+               GDK_vm_cursize -= _vmdelta;                             \
+               gdk_unset_lock(GDKthreadLock, fcn);                     \
+       } while (0)
+#endif
 
-                       GDKmallidx(_idx, _memdelta);
-                       GDK_nmallocs[_idx]--;
-               }
-#endif
-       }
-
-@
- * @- meminc(size_t memdelta, size_t vmdelta, str fcn)
-@= meminc
-       {
-               ssize_t _memdelta = (ssize_t) @1;
-               ssize_t _vmdelta = (ssize_t) SEG_SIZE(@2,MT_VMUNITLOG);
-
-               gdk_set_lock(GDKthreadLock, @3);
-               GDK_mem_cursize += _memdelta;
-#ifdef GDK_VM_KEEPHISTO
-               {
-                       int _idx;
-
-                       GDKmallidx(_idx, _vmdelta);
-                       GDK_vm_nallocs[_idx]++;
-               }
-#endif
-               GDK_vm_cursize += _vmdelta;
-               gdk_unset_lock(GDKthreadLock, @3);
-       }
-
-@
- * @- memdec(size_t memdelta, size_t vmdelta, str nme)
-@= memdec
-       {
-               ssize_t _memdelta = (ssize_t) @1;
-               ssize_t _vmdelta = (ssize_t) SEG_SIZE(@2,MT_VMUNITLOG);
-
-               gdk_set_lock(GDKthreadLock, @3);
-               GDK_mem_cursize -= _memdelta;
-#ifdef GDK_VM_KEEPHISTO
-               {
-                       int _idx;
-
-                       GDKmallidx(_idx, _vmdelta);
-                       GDK_vm_nallocs[_idx]--;
-               }
-#endif
-               GDK_vm_cursize -= _vmdelta;
-               gdk_unset_lock(GDKthreadLock, @3);
-       }
-@
-@c
 static void
 GDKmemdump(void)
 {
@@ -810,232 +808,6 @@ GDKmemchk(int memchk, int vmchk)
        }
 }
 
-
-/*
- * @+ Stack tracing
- *
- * Very simple malloc tracing implementation that allows to retain on which 
stack frame
- * a malloc was done. This is code originally developed by DD, and
- * is used only  by them.
- * Two bats are used: stackBat and memBat.
- * StackBat contains a DAG of all methods used for memory allocation.
- * MemBat contains a mapping from allocated memory addresses to an index
- * in the stackBat which indicates the place the memory is allocated.
- */
-#ifdef GDK_MEM_TRACE
-
-static BAT *stackBat = NULL;
-static BAT *memBat = NULL;
-typedef ptr mem_t;
-
-char *
-stack_test(int i, int j)
-{
-       if (--i == 0)
-               return (char *) GDKmalloc(j);
-
-       return stack_test(i, j);
-}
-
-
-void
-mtrace_test()
-{
-       char *t = stack_test(1, 1);
-
_______________________________________________
Checkin-list mailing list
[email protected]
http://mail.monetdb.org/mailman/listinfo/checkin-list

Reply via email to