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