Changeset: b02ec72197df for MonetDB
URL: https://dev.monetdb.org/hg/MonetDB?cmd=changeset;node=b02ec72197df
Modified Files:
        monetdb5/optimizer/opt_commonTerms.c
        monetdb5/optimizer/opt_generator.c
        monetdb5/optimizer/opt_volcano.c
Branch: default
Log Message:

Use addArgument in the situation where you have constructed
a MAL instruction not part of a MAL block


diffs (70 lines):

diff --git a/monetdb5/optimizer/opt_commonTerms.c 
b/monetdb5/optimizer/opt_commonTerms.c
--- a/monetdb5/optimizer/opt_commonTerms.c
+++ b/monetdb5/optimizer/opt_commonTerms.c
@@ -179,7 +179,8 @@ OPTcommonTermsImplementation(Client cntx
                                        p->argc = p->retc;
                                        for (k = 0; k < q->retc; k++){
                                                alias[getArg(p,k)] = 
getArg(q,k);
-                                               p= pushArgument(mb,p, 
getArg(q,k));
+                                               /* we know the arguments fit so 
the instruction can safely be patched */
+                                               p= addArgument(mb,p, 
getArg(q,k));
                                        }
 
                                        if( OPTdebug & OPTcommonterms){
diff --git a/monetdb5/optimizer/opt_generator.c 
b/monetdb5/optimizer/opt_generator.c
--- a/monetdb5/optimizer/opt_generator.c
+++ b/monetdb5/optimizer/opt_generator.c
@@ -32,22 +32,22 @@ pushInstruction(mb,P);
                        p->argc = p->retc;\
                        q= newInstruction(0,calcRef, TPE##Ref);\
                        setDestVar(q, newTmpVariable(mb, TYPE_##TPE));\
-                       pushArgument(mb,q,getArg(series[k],1));\
+                       addArgument(mb,q,getArg(series[k],1));\
                        typeChecker(cntxt->usermodule, mb, q, TRUE);\
-                       p = pushArgument(mb,p, getArg(q,0));\
+                       p = addArgument(mb,p, getArg(q,0));\
                        pushInstruction(mb,q);\
                        q= newInstruction(0,calcRef,TPE##Ref);\
                        setDestVar(q, newTmpVariable(mb, TYPE_##TPE));\
-                       pushArgument(mb,q,getArg(series[k],2));\
+                       addArgument(mb,q,getArg(series[k],2));\
                        pushInstruction(mb,q);\
                        typeChecker(cntxt->usermodule, mb, q, TRUE);\
-                       p = pushArgument(mb,p, getArg(q,0));\
+                       p = addArgument(mb,p, getArg(q,0));\
                        if( p->argc == 4){\
                                q= newInstruction(0,calcRef,TPE##Ref);\
                                setDestVar(q, newTmpVariable(mb, TYPE_##TPE));\
-                               pushArgument(mb,q,getArg(series[k],3));\
+                               addArgument(mb,q,getArg(series[k],3));\
                                typeChecker(cntxt->usermodule, mb, q, TRUE);\
-                               p = pushArgument(mb,p, getArg(q,0));\
+                               p = addArgument(mb,p, getArg(q,0));\
                                pushInstruction(mb,q);\
                        }\
                        setModuleId(p,generatorRef);\
diff --git a/monetdb5/optimizer/opt_volcano.c b/monetdb5/optimizer/opt_volcano.c
--- a/monetdb5/optimizer/opt_volcano.c
+++ b/monetdb5/optimizer/opt_volcano.c
@@ -58,8 +58,8 @@ OPTvolcanoImplementation(Client cntxt, M
                        ){
                                q= newInstruction(0,languageRef,blockRef);
                                setDestVar(q, newTmpVariable(mb,TYPE_any));
-                               q =  pushArgument(mb,q,mvcvar);
-                               q =  pushArgument(mb,q,getArg(p,0));
+                               q =  addArgument(mb,q,mvcvar);
+                               q =  addArgument(mb,q,getArg(p,0));
                                mvcvar=  getArg(q,0);
                                pushInstruction(mb,q);
                                count++;
@@ -70,8 +70,8 @@ OPTvolcanoImplementation(Client cntxt, M
                        if( getFunctionId(p) == subgroupdoneRef || 
getFunctionId(p) == groupdoneRef ){
                                q= newInstruction(0,languageRef,blockRef);
                                setDestVar(q, newTmpVariable(mb,TYPE_any));
-                               q =  pushArgument(mb,q,mvcvar);
-                               q =  pushArgument(mb,q,getArg(p,0));
+                               q =  addArgument(mb,q,mvcvar);
+                               q =  addArgument(mb,q,getArg(p,0));
                                mvcvar=  getArg(q,0);
                                pushInstruction(mb,q);
                                count++;
_______________________________________________
checkin-list mailing list
[email protected]
https://www.monetdb.org/mailman/listinfo/checkin-list

Reply via email to