Changeset: 454cb54f69e9 for MonetDB
URL: https://dev.monetdb.org/hg/MonetDB?cmd=changeset;node=454cb54f69e9
Modified Files:
monetdb5/mal/mal_dataflow.c
monetdb5/mal/mal_function.c
monetdb5/mal/mal_resolve.c
monetdb5/modules/mal/manifold.c
monetdb5/modules/mal/oltp.c
monetdb5/modules/mal/orderidx.c
monetdb5/modules/mal/wlc.c
monetdb5/optimizer/opt_coercion.c
monetdb5/optimizer/opt_commonTerms.c
monetdb5/optimizer/opt_multiplex.c
monetdb5/optimizer/opt_pipes.c
monetdb5/optimizer/opt_projectionpath.c
monetdb5/scheduler/run_memo.c
monetdb5/scheduler/run_pipeline.c
Branch: gdk_tracer
Log Message:
Added #ifdef #endif (GDKtracer calls) in MAL layer
diffs (truncated from 443 to 300 lines):
diff --git a/monetdb5/mal/mal_dataflow.c b/monetdb5/mal/mal_dataflow.c
--- a/monetdb5/mal/mal_dataflow.c
+++ b/monetdb5/mal/mal_dataflow.c
@@ -695,8 +695,11 @@ static void showFlowEvent(DataFlow flow,
TRC_DEBUG(MAL_DATAFLOW, "End of data flow '%d' done '%d'\n", pc,
flow->stop - flow->start);
for (i = 0; i < flow->stop - flow->start; i++)
if (fe[i].state != DFLOWwrapup && fe[i].pc >= 0) {
- TRC_DEBUG(MAL_DATAFLOW, "Missed pc %d status %d %d
blocks %d\n", fe[i].state, i, fe[i].pc, fe[i].blocks);
- debugInstruction(MAL_DATAFLOW, fe[i].flow->mb, 0,
getInstrPtr(fe[i].flow->mb, fe[i].pc), fe[i].pc, LIST_MAL_MAPI);
+ TRC_DEBUG_IF(MAL_DATAFLOW)
+ {
+ TRC_DEBUG_ENDIF(MAL_DATAFLOW, "Missed pc %d
status %d %d blocks %d\n", fe[i].state, i, fe[i].pc, fe[i].blocks);
+ debugInstruction(MAL_DATAFLOW, fe[i].flow->mb,
0, getInstrPtr(fe[i].flow->mb, fe[i].pc), fe[i].pc, LIST_MAL_MAPI);
+ }
}
}
*/
diff --git a/monetdb5/mal/mal_function.c b/monetdb5/mal/mal_function.c
--- a/monetdb5/mal/mal_function.c
+++ b/monetdb5/mal/mal_function.c
@@ -217,7 +217,8 @@ void chkFlow(MalBlkPtr mb)
if(msg == MAL_SUCCEED && lastInstruction < mb->stop-1 ){
mb->errors = createMalException( mb,lastInstruction,SYNTAX,
"instructions after END");
- debugFunction(MAL_FCN, mb, 0, LIST_MAL_ALL);
+ TRC_DEBUG_IF(MAL_FCN)
+ debugFunction(MAL_FCN, mb, 0, LIST_MAL_ALL);
}
if( endseen)
for(btop--; btop>=0;btop--){
@@ -272,7 +273,8 @@ static void replaceTypeVar(MalBlkPtr mb,
TRC_DEBUG(MAL_FCN, "Replace type '_%d' by type '%s'\n", v,
getTypeName(t));
for(j=0; j<mb->stop; j++){
p= getInstrPtr(mb,j);
- debugInstruction(MAL_FCN, mb, 0, p, j, LIST_MAL_ALL);
+ TRC_DEBUG_IF(MAL_FCN)
+ debugInstruction(MAL_FCN, mb, 0, p, j, LIST_MAL_ALL);
if( p->polymorphic)
for(i=0;i<p->argc; i++)
@@ -299,7 +301,8 @@ static void replaceTypeVar(MalBlkPtr mb,
TRC_DEBUG(MAL_FCN, "Non x= %s %d\n", getTypeName(x),
getTypeIndex(x));
}
}
- debugInstruction(MAL_FCN, mb, 0, p, j, LIST_MAL_ALL);
+ TRC_DEBUG_IF(MAL_FCN)
+ debugInstruction(MAL_FCN, mb, 0, p, j, LIST_MAL_ALL);
}
}
@@ -353,8 +356,11 @@ cloneFunction(Module scope, Symbol proc,
int i,v;
InstrPtr pp;
- TRC_DEBUG(MAL_FCN, "Clone function '%s' to scope '%s'\n",
proc->name,scope->name);
- debugInstruction(MAL_FCN, mb, 0, p, getPC(mb, p), LIST_MAL_ALL);
+ TRC_DEBUG_IF(MAL_FCN)
+ {
+ TRC_DEBUG_ENDIF(MAL_FCN, "Clone function '%s' to scope '%s'\n",
proc->name,scope->name);
+ debugInstruction(MAL_FCN, mb, 0, p, getPC(mb, p), LIST_MAL_ALL);
+ }
new = newFunction(scope->name, proc->name, getSignature(proc)->token);
if( new == NULL){
@@ -368,8 +374,11 @@ cloneFunction(Module scope, Symbol proc,
return NULL;
}
/* now change the definition of the original proc */
- TRC_DEBUG(MAL_FCN, "Cloned version\n");
- debugFunction(MAL_FCN, new->def, 0, LIST_MAL_ALL);
+ TRC_DEBUG_IF(MAL_FCN)
+ {
+ TRC_DEBUG_ENDIF(MAL_FCN, "Cloned version\n");
+ debugFunction(MAL_FCN, new->def, 0, LIST_MAL_ALL);
+ }
/* check for errors after fixation , TODO*/
pp = getSignature(new);
@@ -399,8 +408,11 @@ cloneFunction(Module scope, Symbol proc,
for (i = 0; i < new->def->vtop; i++)
clrVarFixed(new->def, i);
- TRC_DEBUG(MAL_FCN, "Function to be checked\n");
- debugFunction(MAL_FCN, new->def, 0, LIST_MAL_ALL);
+ TRC_DEBUG_IF(MAL_FCN)
+ {
+ TRC_DEBUG_ENDIF(MAL_FCN, "Function to be checked\n");
+ debugFunction(MAL_FCN, new->def, 0, LIST_MAL_ALL);
+ }
/* check for errors after fixation , TODO*/
/* beware, we should now ignore any cloning */
@@ -411,12 +423,16 @@ cloneFunction(Module scope, Symbol proc,
mb->errors = new->def->errors;
mb->errors = createMalException(mb,0,TYPE,"Error in
cloned function");
new->def->errors = 0;
- debugFunction(MAL_FCN, new->def, 0, LIST_MAL_ALL);
+ TRC_DEBUG_IF(MAL_FCN)
+ debugFunction(MAL_FCN, new->def, 0,
LIST_MAL_ALL);
}
}
- TRC_DEBUG(MAL_FCN, "Newly cloned function added to: %s %d\n",
scope->name, i);
- debugFunction(MAL_FCN, new->def, 0, LIST_MAL_ALL);
+ TRC_DEBUG_IF(MAL_FCN)
+ {
+ TRC_DEBUG_ENDIF(MAL_FCN, "Newly cloned function added to: %s
%d\n", scope->name, i);
+ debugFunction(MAL_FCN, new->def, 0, LIST_MAL_ALL);
+ }
return new;
}
diff --git a/monetdb5/mal/mal_resolve.c b/monetdb5/mal/mal_resolve.c
--- a/monetdb5/mal/mal_resolve.c
+++ b/monetdb5/mal/mal_resolve.c
@@ -358,7 +358,8 @@ findFunctionType(Module scope, MalBlkPtr
* Also mark all variables that are subject to garbage control.
* Beware, this is not yet effectuated in the interpreter.
*/
- debugInstruction(MAL_RESOLVE, mb, 0, p, idx, LIST_MAL_DEBUG);
+ TRC_DEBUG_IF(MAL_RESOLVE)
+ debugInstruction(MAL_RESOLVE, mb, 0, p, idx,
LIST_MAL_DEBUG);
p->typechk = TYPE_RESOLVED;
for (i = 0; i < p->retc; i++) {
diff --git a/monetdb5/modules/mal/manifold.c b/monetdb5/modules/mal/manifold.c
--- a/monetdb5/modules/mal/manifold.c
+++ b/monetdb5/modules/mal/manifold.c
@@ -228,9 +228,12 @@ MANIFOLDtypecheck(Client cntxt, MalBlkPt
setVarUDFtype(nmb,k);
}
- TRC_DEBUG(MAL_MANIFOLD, "Manifold operation\n");
- debugInstruction(MAL_MANIFOLD, mb, 0, pci, getPC(mb, pci),
LIST_MAL_ALL);
- debugInstruction(MAL_MANIFOLD, nmb, 0, q, getPC(nmb, q), LIST_MAL_ALL);
+ TRC_DEBUG_IF(MAL_MANIFOLD)
+ {
+ TRC_DEBUG_ENDIF(MAL_MANIFOLD, "Manifold operation\n");
+ debugInstruction(MAL_MANIFOLD, mb, 0, pci, getPC(mb, pci),
LIST_MAL_ALL);
+ debugInstruction(MAL_MANIFOLD, nmb, 0, q, getPC(nmb, q),
LIST_MAL_ALL);
+ }
// Localize the underlying scalar operator
typeChecker(cntxt->usermodule, nmb, q, getPC(nmb, q), TRUE);
@@ -244,8 +247,11 @@ MANIFOLDtypecheck(Client cntxt, MalBlkPt
setVarType( mb, getArg(pci,0),
newBatType(getArgType(nmb,q,0)) );
}
- TRC_DEBUG(MAL_MANIFOLD, "Success? %s\n", (fcn == NULL? "no":"yes"));
- debugInstruction(MAL_MANIFOLD, nmb, 0, q, getPC(nmb, q), LIST_MAL_ALL);
+ TRC_DEBUG_IF(MAL_MANIFOLD)
+ {
+ TRC_DEBUG_ENDIF(MAL_MANIFOLD, "Success? %s\n", (fcn == NULL?
"no":"yes"));
+ debugInstruction(MAL_MANIFOLD, nmb, 0, q, getPC(nmb, q),
LIST_MAL_ALL);
+ }
freeMalBlk(nmb);
return fcn;
diff --git a/monetdb5/modules/mal/oltp.c b/monetdb5/modules/mal/oltp.c
--- a/monetdb5/modules/mal/oltp.c
+++ b/monetdb5/modules/mal/oltp.c
@@ -113,8 +113,12 @@ OLTPlock(Client cntxt, MalBlkPtr mb, Mal
if ( oltp_delay == FALSE )
return MAL_SUCCEED;
- TRC_DEBUG(MAL_OLTP, "%6d lock request for client: %d", GDKms(),
cntxt->idx);
- debugInstruction(MAL_OLTP, mb, stk, pci, getPC(mb, pci), LIST_MAL_ALL);
+ TRC_DEBUG_IF(MAL_OLTP)
+ {
+ TRC_DEBUG_ENDIF(MAL_OLTP, "%6d lock request for client: %d",
GDKms(), cntxt->idx);
+ debugInstruction(MAL_OLTP, mb, stk, pci, getPC(mb, pci),
LIST_MAL_ALL);
+ }
+
do{
MT_lock_set(&mal_oltpLock);
clk = GDKms();
@@ -176,8 +180,11 @@ OLTPrelease(Client cntxt, MalBlkPtr mb,
MT_lock_set(&mal_oltpLock);
clk = GDKusec();
- TRC_DEBUG(MAL_OLTP, "%6d release the locks: %d", GDKms(), cntxt->idx);
- debugInstruction(MAL_OLTP, mb, stk, pci, getPC(mb, pci), LIST_MAL_ALL);
+ TRC_DEBUG_IF(MAL_OLTP)
+ {
+ TRC_DEBUG_ENDIF(MAL_OLTP, "%6d release the locks: %d", GDKms(),
cntxt->idx);
+ debugInstruction(MAL_OLTP, mb, stk, pci, getPC(mb, pci),
LIST_MAL_ALL);
+ }
for( i=1; i< pci->argc; i++){
lck= getVarConstant(mb, getArg(pci,i)).val.ival;
diff --git a/monetdb5/modules/mal/orderidx.c b/monetdb5/modules/mal/orderidx.c
--- a/monetdb5/modules/mal/orderidx.c
+++ b/monetdb5/modules/mal/orderidx.c
@@ -186,7 +186,8 @@ OIDXcreateImplementation(Client cntxt, i
freeStack(newstk);
}
- debugFunction(MAL_OIDX, smb, 0, LIST_MAL_ALL);
+ TRC_DEBUG_IF(MAL_OIDX)
+ debugFunction(MAL_OIDX, smb, 0, LIST_MAL_ALL);
/* get rid of temporary MAL block */
bailout:
diff --git a/monetdb5/modules/mal/wlc.c b/monetdb5/modules/mal/wlc.c
--- a/monetdb5/modules/mal/wlc.c
+++ b/monetdb5/modules/mal/wlc.c
@@ -595,7 +595,9 @@ WLCpreparewrite(Client cntxt)
cntxt->wlc_kind = WLC_QUERY;
} else
throw(MAL,"wlc.write","WLC log path missing ");
- debugFunction(MAL_WLC, cntxt->wlc, 0, LIST_MAL_ALL );
+
+ TRC_DEBUG_IF(MAL_WLC)
+ debugFunction(MAL_WLC, cntxt->wlc, 0, LIST_MAL_ALL );
if( wlc_state == WLC_STOP)
throw(MAL,"wlc.write","Logging for this snapshot has been
stopped. Use a new snapshot to continue logging.");
diff --git a/monetdb5/optimizer/opt_coercion.c
b/monetdb5/optimizer/opt_coercion.c
--- a/monetdb5/optimizer/opt_coercion.c
+++ b/monetdb5/optimizer/opt_coercion.c
@@ -47,8 +47,12 @@ coercionOptimizerCalcStep(Client cntxt,
varid = getArg(p,1);
if ( a == r && coerce[varid].src && coerce[varid].fromtype < r )
{
- TRC_DEBUG(MAL_OPT_COERCION, "Remove upcast on first argument
%d\n", varid);
- debugInstruction(MAL_OPT_COERCION, mb, 0, p, i, LIST_MAL_ALL);
+ TRC_DEBUG_IF(MAL_OPT_COERCION)
+ {
+ TRC_DEBUG_ENDIF(MAL_OPT_COERCION, "Remove upcast on
first argument %d\n", varid);
+ debugInstruction(MAL_OPT_COERCION, mb, 0, p, i,
LIST_MAL_ALL);
+ }
+
getArg(p,1) = coerce[varid].src;
if ( chkInstruction(cntxt->usermodule, mb, p) || p->typechk ==
TYPE_UNKNOWN)
getArg(p,1) = varid;
@@ -56,15 +60,22 @@ coercionOptimizerCalcStep(Client cntxt,
varid = getArg(p,2);
if ( b == r && coerce[varid].src && coerce[varid].fromtype < r )
{
- TRC_DEBUG(MAL_OPT_COERCION, "Remove upcast on second argument
%d\n", varid);
- debugInstruction(MAL_OPT_COERCION, mb, 0, p, i, LIST_MAL_ALL);
+ TRC_DEBUG_IF(MAL_OPT_COERCION)
+ {
+ TRC_DEBUG_ENDIF(MAL_OPT_COERCION, "Remove upcast on
second argument %d\n", varid);
+ debugInstruction(MAL_OPT_COERCION, mb, 0, p, i,
LIST_MAL_ALL);
+ }
+
getArg(p,2) = coerce[varid].src;
if ( chkInstruction(cntxt->usermodule, mb, p) || p->typechk ==
TYPE_UNKNOWN)
getArg(p,2) = varid;
}
- TRC_DEBUG(MAL_OPT_COERCION, "Final instruction\n");
- debugInstruction(MAL_OPT_COERCION, mb, 0, p, i, LIST_MAL_ALL);
+ TRC_DEBUG_IF(MAL_OPT_COERCION)
+ {
+ TRC_DEBUG_ENDIF(MAL_OPT_COERCION, "Final instruction\n");
+ debugInstruction(MAL_OPT_COERCION, mb, 0, p, i, LIST_MAL_ALL);
+ }
return;
}
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
@@ -122,10 +122,14 @@ OPTcommonTermsImplementation(Client cntx
/* from here we have a candidate to look for a match */
h = hashInstruction(mb, p);
- TRC_DEBUG(MAL_OPT_COMMONTERMS, "Candidate[%d] look at list[%d]
=> %d\n",
-
i, h, hash[h]);
- debugInstruction(MAL_OPT_COMMONTERMS, mb, 0, p, i,
LIST_MAL_ALL);
-
+
+ TRC_DEBUG_IF(MAL_OPT_COMMONTERMS)
+ {
+ TRC_DEBUG_ENDIF(MAL_OPT_COMMONTERMS, "Candidate[%d]
look at list[%d] => %d\n",
+
i, h, hash[h]);
+ debugInstruction(MAL_OPT_COMMONTERMS, mb, 0, p, i,
LIST_MAL_ALL);
+ }
+
if( h < 0){
pushInstruction(mb,p);
continue;
@@ -135,17 +139,20 @@ OPTcommonTermsImplementation(Client cntx
/* Look into the hash structure for matching instructions */
for (j = hash[h]; j > 0 && bailout-- > 0 ; j = list[j])
if ( (q= getInstrPtr(mb,j)) && getFunctionId(q) ==
getFunctionId(p) && getModuleId(q) == getModuleId(p) ){
- TRC_DEBUG(MAL_OPT_COMMONTERMS,
"Candidate[%d->%d] %d %d :%d %d %d=%d %d %d %d\n",
- j, list[j],
- hasSameSignature(mb, p, q),
- hasSameArguments(mb, p, q),
- q->token != ASSIGNsymbol ,
- list[getArg(q,q->argc-1)],i,
- !hasCommonResults(p, q),
- !isUnsafeFunction(q),
- !isUpdateInstruction(q),
- isLinearFlow(q));
- debugInstruction(MAL_OPT_COMMONTERMS, mb, 0, q,
j, LIST_MAL_ALL);
+ TRC_DEBUG_IF(MAL_OPT_COMMONTERMS)
_______________________________________________
checkin-list mailing list
[email protected]
https://www.monetdb.org/mailman/listinfo/checkin-list