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