Changeset: c0be18d34080 for MonetDB
URL: http://dev.monetdb.org/hg/MonetDB?cmd=changeset;node=c0be18d34080
Modified Files:
        MonetDB5/src/mal/mal_instruction.mx
Branch: default
Log Message:

Merge with Oct2010 branch.


diffs (79 lines):

diff -r 4ae868d3f1e7 -r c0be18d34080 MonetDB5/src/mal/mal_instruction.mx
--- a/MonetDB5/src/mal/mal_instruction.mx       Mon Oct 11 14:37:10 2010 +0200
+++ b/MonetDB5/src/mal/mal_instruction.mx       Mon Oct 11 14:41:30 2010 +0200
@@ -2643,7 +2643,7 @@
                advance(t,base,len);
        }
        /* @:performanceData@ */
-       if (isTmpVar(mb, getArg(p, 0))) {
+       if (p->argc > 0 && isTmpVar(mb, getArg(p, 0))) {
                if (isVarUsed(mb, getDestVar(p))) {
                        snprintf(nmebuf, PATHLENGTH, "%c%d", TMPMARKER, 
getVarTmp(mb, getArg(p, 0)));
                } else
diff -r 4ae868d3f1e7 -r c0be18d34080 MonetDB5/src/optimizer/opt_macro.mx
--- a/MonetDB5/src/optimizer/opt_macro.mx       Mon Oct 11 14:37:10 2010 +0200
+++ b/MonetDB5/src/optimizer/opt_macro.mx       Mon Oct 11 14:41:30 2010 +0200
@@ -168,7 +168,7 @@
                return 0;
        for (i = 0; i < p1->argc; i++)
                for (j = i + 1; j < p1->argc; j++)
-                       if ((getArg(p1, i) == getArg(p1, j) && getArg(p2, i) != 
getArg(p2, j)) || (getArg(p1, i) != getArg(p1, j) && getArg(p2, i) == 
getArg(p2, j)))
+                       if ((getArg(p1, i) == getArg(p1, j)) != (getArg(p2, i) 
== getArg(p2, j)))
                                return 0;
        return 1;
 }
@@ -194,10 +194,10 @@
        if (mb->stop - pc < mc->stop - 2)
                return 0;
 
-       cvar = (int *) GDKmalloc(mc->vtop * mc->maxarg);
+       cvar = (int *) GDKmalloc(mc->vtop * mc->maxarg * sizeof(*cvar));
        if (cvar == NULL)
                return 0;
-       mvar = (int *) GDKmalloc(mb->vtop * mc->maxarg);
+       mvar = (int *) GDKmalloc(mb->vtop * mc->maxarg * sizeof(*mvar));
        if (mvar == NULL){
                GDKfree(cvar);
                return 0;
@@ -219,11 +219,11 @@
                for (j = 0; j < p->argc; j++)
                        mvar[mtop++] = getArg(q, j);
        }
-       assert(mtop == ctop);   /*shouldn;t happen */
+       assert(mtop == ctop);   /*shouldn't happen */
 
        for (i = 0; i < ctop; i++)
                for (j = i + 1; j < ctop; j++)
-                       if ((cvar[i] == cvar[j] && mvar[i] != mvar[j]) 
||(mvar[i] == mvar[j] && cvar[i] != cvar[j])){
+                       if ((cvar[i] == cvar[j]) != (mvar[i] == mvar[j])) {
                                GDKfree(cvar);
                                GDKfree(mvar);
                                return 0;
@@ -467,15 +467,15 @@
        int ctop = 0, mtop = 0;
 
        /* collect variable map */
-       cvar = (int *) GDKmalloc(mc->vtop * mc->maxarg);
+       cvar = (int *) GDKmalloc(mc->vtop * mc->maxarg * sizeof(*cvar));
        if (cvar == NULL)
                return -1;
-       mvar = (int *) GDKmalloc(mb->vtop * mc->maxarg);
+       mvar = (int *) GDKmalloc(mb->vtop * mc->maxarg * sizeof(*mvar));
        if (mvar == NULL){
                GDKfree(cvar);
                return -1;
        }
-       lim = pc + mc->stop - 2;
+       lim = pc + mc->stop - 3;
        k = 1;
        for (i = pc; i < lim; i++, k++) {
                p = getInstrPtr(mb, i);
@@ -487,7 +487,7 @@
                for (j = 0; j < p->argc; j++)
                        mvar[mtop++] = getArg(p, j);
        }
-       assert(mtop == ctop);   /*shouldn;t happen */
+       assert(mtop == ctop);   /*shouldn't happen */
 
        p = getInstrPtr(mb, pc);
        q = copyInstruction(getInstrPtr(mc, 0));        /* the signature */
_______________________________________________
Checkin-list mailing list
Checkin-list@monetdb.org
http://mail.monetdb.org/mailman/listinfo/checkin-list

Reply via email to