Changeset: ecbaa3cc1486 for MonetDB
URL: http://dev.monetdb.org/hg/MonetDB?cmd=changeset;node=ecbaa3cc1486
Modified Files:
        monetdb5/mal/mal_dataflow.c
        monetdb5/mal/mal_dataflow.h
        monetdb5/modules/mal/language.c
Branch: mutation
Log Message:

The dataflow block is uniquely identified by its start


diffs (50 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
@@ -608,11 +608,12 @@ DFLOWscheduler(DataFlow flow)
 }
 
 str
-runMALdataflow(Client cntxt, MalBlkPtr mb, int startpc, int stoppc, MalStkPtr 
stk)
+runMALdataflow(Client cntxt, MalBlkPtr mb, int startpc, MalStkPtr stk)
 {
        DataFlow flow = NULL;
        str ret = MAL_SUCCEED;
        int size;
+       int stoppc = getInstrPtr(mb,startpc)->jump;
 
 #ifdef DEBUG_FLOW
        mnstr_printf(GDKstdout, "runMALdataflow for block %d - %d\n", startpc, 
stoppc);
@@ -625,7 +626,7 @@ runMALdataflow(Client cntxt, MalBlkPtr m
        if (stk->cmd)
                return MAL_SUCCEED;
 
-       assert(stoppc > startpc);
+       assert(stoppc > startpc || stoppc == 0);
 
        /* check existence of workers */
        if (workers[0] == 0)
diff --git a/monetdb5/mal/mal_dataflow.h b/monetdb5/mal/mal_dataflow.h
--- a/monetdb5/mal/mal_dataflow.h
+++ b/monetdb5/mal/mal_dataflow.h
@@ -24,7 +24,7 @@
 #include "mal_runtime.h"
 #include "mal_resource.h"
 
-mal_export str runMALdataflow(Client cntxt, MalBlkPtr mb, int startpc, int 
stoppc, MalStkPtr stk);
+mal_export str runMALdataflow(Client cntxt, MalBlkPtr mb, int startpc, 
MalStkPtr stk);
 mal_export void stopMALdataflow(void);
 
 #endif /*  _MAL_DATAFLOW_H*/
diff --git a/monetdb5/modules/mal/language.c b/monetdb5/modules/mal/language.c
--- a/monetdb5/modules/mal/language.c
+++ b/monetdb5/modules/mal/language.c
@@ -149,7 +149,7 @@ MALstartDataflow( Client cntxt, MalBlkPt
        }
        if ( getPC(mb, pci) > pci->jump)
                throw(MAL,"language.dataflow","Illegal statement range");
-       msg = runMALdataflow(cntxt, mb, getPC(mb,pci), pci->jump, stk);
+       msg = runMALdataflow(cntxt, mb, getPC(mb,pci), stk);
        *ret = 0;       /* continue at end of block */
        return msg;
 }
_______________________________________________
checkin-list mailing list
checkin-list@monetdb.org
http://mail.monetdb.org/mailman/listinfo/checkin-list

Reply via email to