Changeset: 5c50936bec5c for MonetDB
URL: http://dev.monetdb.org/hg/MonetDB?cmd=changeset;node=5c50936bec5c
Modified Files:
        monetdb5/mal/mal_interpreter.mx
        monetdb5/optimizer/opt_evaluate.mx
Branch: default
Log Message:

Dont generate profiler tracing in optimizer
The optimizer calls the interpreter for constant expressions.
These should not be profiled.


diffs (34 lines):

diff --git a/monetdb5/mal/mal_interpreter.mx b/monetdb5/mal/mal_interpreter.mx
--- a/monetdb5/mal/mal_interpreter.mx
+++ b/monetdb5/mal/mal_interpreter.mx
@@ -2559,7 +2559,7 @@ void releaseBAT(MalBlkPtr mb, MalStkPtr 
                                mb->profiler[ppc].ticks = 0;
                                mb->profiler[ppc].clock = stk->clock;
                                /* emit the instruction upon start as well */
-                               if (@2)
+                               if (@2 && malProfileMode)
                                        profilerEvent(cntxt->idx, mb, stk, 
stkpc);
 #ifdef HAVE_TIMES
                                times(&stk->timer);
diff --git a/monetdb5/optimizer/opt_evaluate.mx 
b/monetdb5/optimizer/opt_evaluate.mx
--- a/monetdb5/optimizer/opt_evaluate.mx
+++ b/monetdb5/optimizer/opt_evaluate.mx
@@ -156,6 +156,7 @@ OPTevaluateImplementation(Client cntxt, 
        InstrPtr p;
        int i, k, limit, *alias, barrier;
        MalStkPtr env = NULL;
+       int profiler;
        str msg;
        int debugstate = cntxt->itrace, actions = 0;
        Lifespan span;
@@ -194,7 +195,10 @@ OPTevaluateImplementation(Client cntxt, 
                        actions++;
                        barrier = p->barrier;
                        p->barrier = 0;
+                       profiler = malProfileMode;      /* we don't trace it */
+                       malProfileMode = 0;
                        msg = reenterMAL(cntxt, mb, i, i + 1, env, 0, 0);
+                       malProfileMode= profiler;
                        p->barrier = barrier;
                        OPTDEBUGevaluate {
                                mnstr_printf(cntxt->fdout, "#retc var %s\n", 
getVarName(mb, getArg(p, 0)));
_______________________________________________
Checkin-list mailing list
[email protected]
http://mail.monetdb.org/mailman/listinfo/checkin-list

Reply via email to