Changeset: 1285e9e2d8e9 for MonetDB URL: http://dev.monetdb.org/hg/MonetDB?cmd=changeset;node=1285e9e2d8e9 Modified Files: monetdb5/mal/mal_listing.c monetdb5/mal/mal_recycle.c monetdb5/optimizer/opt_recycler.c Branch: default Log Message:
Minor changes to show recycle dependencies diffs (62 lines): diff --git a/monetdb5/mal/mal_listing.c b/monetdb5/mal/mal_listing.c --- a/monetdb5/mal/mal_listing.c +++ b/monetdb5/mal/mal_listing.c @@ -501,6 +501,9 @@ instruction2str(MalBlkPtr mb, MalStkPtr } else VALformat(&cv, &stk->stk[getArg(p, i)]); } else { + if ( p->recycle && flg & LIST_MAL_ARG) + snprintf(t,(len-(t-base)),"%s%s=", (*getArgName(mb,p,i)== TMPMARKER?"X":""), getArgName(mb, p, i)); + advance(t,base,len); if( getTailType(getArgType(mb,p,i)) > TYPE_str ) { char *ct=cv; VALformat(&cv, &getVar(mb, getArg(p, i))->value); diff --git a/monetdb5/mal/mal_recycle.c b/monetdb5/mal/mal_recycle.c --- a/monetdb5/mal/mal_recycle.c +++ b/monetdb5/mal/mal_recycle.c @@ -541,9 +541,6 @@ RECYCLEkeep(Client cntxt, MalBlkPtr mb, v = &s->stk[j]; VALcopy(&cst,v); c = fndConstant(recycleBlk, &cst, recycleBlk->vtop); -#ifdef _DEBUG_RECYCLE_ - //printf("#CONSTANT %s %d\n", getVarName(mb,j), c); -#endif if (c<0) c = defConstant(recycleBlk, v->vtype, &cst); if (v->vtype == TYPE_bat) @@ -553,7 +550,7 @@ RECYCLEkeep(Client cntxt, MalBlkPtr mb, } #ifdef _DEBUG_RECYCLE_ mnstr_printf(cntxt->fdout,"#RECYCLE [%3d] ",recycleBlk->stop); - printInstruction( cntxt->fdout,recycleBlk, 0, q,LIST_MAL_STMT); + printInstruction( cntxt->fdout,recycleBlk, 0, q,LIST_MAL_DEBUG); #else (void) cntxt; #endif diff --git a/monetdb5/optimizer/opt_recycler.c b/monetdb5/optimizer/opt_recycler.c --- a/monetdb5/optimizer/opt_recycler.c +++ b/monetdb5/optimizer/opt_recycler.c @@ -79,6 +79,10 @@ OPTrecyclerImplementation(Client cntxt, break; } + if ( getModuleId(p) == languageRef){ + pushInstruction(mb,p); + continue; + } if ( isUpdateInstruction(p) || hasSideEffects(p,TRUE)){ /* update instructions are not recycled but monitored*/ pushInstruction(mb, p); @@ -108,10 +112,10 @@ OPTrecyclerImplementation(Client cntxt, if (recycled[getArg(p, j)] ==0) cand++; if (cnt == p->argc - p->retc && cand == p->retc) { - //OPTDEBUGrecycle { + OPTDEBUGrecycle { mnstr_printf(cntxt->fdout, "#recycle instruction: "); printInstruction(cntxt->fdout, mb, 0, p, LIST_MAL_DEBUG); - //} + } marks++; p->recycle = recycleMaxInterest; /* this instruction is to be monitored */ for (j = 0; j < p->retc; j++) _______________________________________________ checkin-list mailing list checkin-list@monetdb.org http://mail.monetdb.org/mailman/listinfo/checkin-list