Changeset: 4c584b865796 for MonetDB
URL: https://dev.monetdb.org/hg/MonetDB?cmd=changeset;node=4c584b865796
Modified Files:
        monetdb5/optimizer/opt_garbageCollector.c
Branch: default
Log Message:

Minor code upgrade


diffs (64 lines):

diff --git a/monetdb5/optimizer/opt_garbageCollector.c 
b/monetdb5/optimizer/opt_garbageCollector.c
--- a/monetdb5/optimizer/opt_garbageCollector.c
+++ b/monetdb5/optimizer/opt_garbageCollector.c
@@ -32,7 +32,9 @@ OPTgarbageCollectorImplementation(Client
        char buf[1024];
        lng usec = GDKusec();
        str msg = MAL_SUCCEED;
+#ifndef NDEBUG
        int *used;
+#endif
 
        (void) pci;
        (void) stk;
@@ -59,7 +61,9 @@ OPTgarbageCollectorImplementation(Client
 
        // Actual garbage collection stuff, just mark them for re-assessment
        vlimit = mb->vtop;
+#ifndef NDEBUG
        used = (int *) GDKzalloc(vlimit * sizeof(int));
+#endif
        p = NULL;
        for (i = 0; i < limit; i++) {
                p = getInstrPtr(mb, i);
@@ -67,13 +71,15 @@ OPTgarbageCollectorImplementation(Client
                p->typechk = TYPE_UNKNOWN;
                /* Set the program counter to ease profiling */
                p->pc = i;
-               if ( i > 0 && getModuleId(p) != languageRef && getModuleId(p) 
!= querylogRef && getModuleId(p) != sqlRef && !p->barrier)
+#ifndef NDEBUG
+               if ( i > 1 && getModuleId(p) != languageRef && getModuleId(p) 
!= querylogRef && getModuleId(p) != sqlRef && !p->barrier)
                        for( j=0; j< p->retc; j++)
                                used[getArg(p,j)] = i;
                if ( getModuleId(p) != languageRef && getFunctionId(p) != 
passRef){
                        for(j= p->retc ; j< p->argc; j++)
                                used[getArg(p,j)] = 0;
                        }
+#endif
                if ( p->token == ENDsymbol)
                        break;
        }
@@ -83,21 +89,19 @@ OPTgarbageCollectorImplementation(Client
                GDKfree(used);
                throw(MAL, "optimizer.garbagecollector", SQLSTATE(42000) 
"Incorrect MAL plan encountered");
        }
+#ifndef NDEBUG
        /* Leave a message behind when we have created variables and not used 
them */
        for(i=0; i< vlimit; i++)
        if( used[i]){
                p = getInstrPtr(mb, used[i]);
                if( p){
-#ifdef NDEBUG
-                       snprintf(buf,1024,"Unused variable %s", getVarName(mb, 
i));
-#else
                        str msg = instruction2str(mb, NULL, p, LIST_MAL_ALL);
                        snprintf(buf,1024,"Unused variable %s: %s", 
getVarName(mb, i), msg);
                        GDKfree(msg);
-#endif
                        newComment(mb,buf);
                }
        }
+#endif
        GDKfree(used);
        getInstrPtr(mb,0)->gc |= GARBAGECONTROL;
 
_______________________________________________
checkin-list mailing list
checkin-list@monetdb.org
https://www.monetdb.org/mailman/listinfo/checkin-list

Reply via email to