Changeset: 5cc99738b1e0 for MonetDB URL: http://dev.monetdb.org/hg/MonetDB?cmd=changeset;node=5cc99738b1e0 Modified Files: monetdb5/optimizer/opt_support.mx Branch: default Log Message:
Minor speed improvement for commonTerms diffs (31 lines): diff --git a/monetdb5/optimizer/opt_support.mx b/monetdb5/optimizer/opt_support.mx --- a/monetdb5/optimizer/opt_support.mx +++ b/monetdb5/optimizer/opt_support.mx @@ -584,7 +584,7 @@ opt_export int isInvariant(MalBlkPtr mb, int pcf, int pcl, int varid); opt_export int isDependent(InstrPtr p, InstrPtr q); opt_export int safetyBarrier(InstrPtr p, InstrPtr q); -opt_export int hasSameSignature(MalBlkPtr mb, InstrPtr p, InstrPtr q); +opt_export int hasSameSignature(MalBlkPtr mb, InstrPtr p, InstrPtr q, int stop); opt_export int hasSameArguments(MalBlkPtr mb, InstrPtr p, InstrPtr q); opt_export int isUpdated(MalBlkPtr mb, int pc); opt_export int hasCommonResults(InstrPtr p, InstrPtr q); @@ -876,7 +876,7 @@ return msg; } -int hasSameSignature(MalBlkPtr mb, InstrPtr p, InstrPtr q){ +int hasSameSignature(MalBlkPtr mb, InstrPtr p, InstrPtr q, int stop){ int i; if ( getFunctionId(q) == getFunctionId(p) && @@ -884,7 +884,8 @@ getFunctionId(q) != 0 && getModuleId(q) != 0) { if( q->retc != p->retc || q->argc != p->argc) return FALSE; - for( i=0; i<p->argc; i++) + assert(stop <= p->argc); + for( i=0; i<stop; i++) if (getArgType(mb,p,i) != getArgType(mb,q,i)) return FALSE; return TRUE; _______________________________________________ Checkin-list mailing list Checkin-list@monetdb.org http://mail.monetdb.org/mailman/listinfo/checkin-list