Changeset: fe5b8c61f275 for MonetDB
URL: http://dev.monetdb.org/hg/MonetDB?cmd=changeset;node=fe5b8c61f275
Modified Files:
        clients/R/MonetDB.R/R/dplyr.R
        gdk/gdk_system.c
        gdk/gdk_system.h
        testing/malcheck.py
Branch: default
Log Message:

Merge with Oct2014 branch.


diffs (83 lines):

diff --git a/clients/R/MonetDB.R/R/dplyr.R b/clients/R/MonetDB.R/R/dplyr.R
--- a/clients/R/MonetDB.R/R/dplyr.R
+++ b/clients/R/MonetDB.R/R/dplyr.R
@@ -113,4 +113,4 @@ unique_name <- local({
     i <<- i + 1
     paste0("_W", i)
   }
-})
\ No newline at end of file
+})
diff --git a/gdk/gdk_system.c b/gdk/gdk_system.c
--- a/gdk/gdk_system.c
+++ b/gdk/gdk_system.c
@@ -90,11 +90,11 @@ sortlocklist(MT_Lock *l)
         * start of unprocessed part of left and right lists */
        t = ll = NULL;
        while (l && r) {
-               if (l->contention < r->contention ||
-                   (l->contention == r->contention &&
-                    l->sleep < r->sleep) ||
-                   (l->contention == r->contention &&
-                    l->sleep == r->sleep &&
+               if (l->sleep < r->sleep ||
+                   (l->sleep == r->sleep &&
+                    l->contention < r->contention) ||
+                   (l->sleep == r->sleep &&
+                    l->contention == r->contention &&
                     l->count <= r->count)) {
                        /* l is smaller */
                        if (ll == NULL) {
diff --git a/gdk/gdk_system.h b/gdk/gdk_system.h
--- a/gdk/gdk_system.h
+++ b/gdk/gdk_system.h
@@ -210,16 +210,13 @@ gdk_export ATOMIC_TYPE volatile GDKlocks
        do {                                                            \
                TEMDEBUG fprintf(stderr, "#lock %s contention in %s\n", 
(l)->name, n); \
                (void) ATOMIC_INC(GDKlockcontentioncnt, dummy, n);      \
+               (l)->contention++;                                      \
        } while (0)
 #define _DBG_LOCK_SLEEP(l, n)                                          \
        do {                                                            \
                if (_spincnt == 1024)                                   \
                        (void) ATOMIC_INC(GDKlocksleepcnt, dummy, n);   \
-       } while (0)
-#define _DBG_LOCK_COUNT_1(l)                   \
-       do {                                    \
-               (l)->contention++;              \
-               (l)->sleep += _spincnt >= 1024; \
+               (l)->sleep++;                                           \
        } while (0)
 #define _DBG_LOCK_COUNT_2(l)                                           \
        do {                                                            \
@@ -282,7 +279,6 @@ gdk_export ATOMIC_TYPE volatile GDKlocks
 #define _DBG_LOCK_COUNT_0(l, n)                ((void) (n))
 #define _DBG_LOCK_CONTENTION(l, n)     ((void) (n))
 #define _DBG_LOCK_SLEEP(l, n)          ((void) (n))
-#define _DBG_LOCK_COUNT_1(l)           ((void) 0)
 #define _DBG_LOCK_COUNT_2(l)           ((void) 0)
 #define _DBG_LOCK_INIT(l, n)           ((void) (n))
 #define _DBG_LOCK_DESTROY(l)           ((void) 0)
@@ -300,10 +296,9 @@ gdk_export ATOMIC_TYPE volatile GDKlocks
                        do {                                            \
                                if (++_spincnt >= 1024) {               \
                                        _DBG_LOCK_SLEEP(l, n);          \
-                                       MT_sleep_ms(_spincnt >> 10);    \
+                                       MT_sleep_ms(1);                 \
                                }                                       \
                        } while (ATOMIC_TAS((l)->lock, dummy, n) != 0); \
-                       _DBG_LOCK_COUNT_1(l);                           \
                }                                                       \
                _DBG_LOCK_LOCKER(l, n);                                 \
                _DBG_LOCK_COUNT_2(l);                                   \
diff --git a/testing/malcheck.py b/testing/malcheck.py
--- a/testing/malcheck.py
+++ b/testing/malcheck.py
@@ -50,6 +50,7 @@ pdecls = {}
 def process(f):
     data = open(f).read()
     if f.endswith('.mal'):
+        data = re.sub(r'[ \t]*#.*', '', data) # remove comments
         res = comreg.search(data)
         while res is not None:
             malf, args, rets, func = res.groups()
_______________________________________________
checkin-list mailing list
checkin-list@monetdb.org
https://www.monetdb.org/mailman/listinfo/checkin-list

Reply via email to