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
[email protected]
http://mail.monetdb.org/mailman/listinfo/checkin-list