Changeset: 4132a3fae9cc for MonetDB
URL: http://dev.monetdb.org/hg/MonetDB?cmd=changeset;node=4132a3fae9cc
Modified Files:
        MonetDB5/src/mal/mal_interpreter.mx
Branch: default
Log Message:

Merge with Oct2010 branch.


diffs (60 lines):

diff -r c85e8b28c130 -r 4132a3fae9cc MonetDB5/src/mal/mal_interpreter.mx
--- a/MonetDB5/src/mal/mal_interpreter.mx       Thu Oct 07 18:40:28 2010 +0200
+++ b/MonetDB5/src/mal/mal_interpreter.mx       Thu Oct 07 19:13:08 2010 +0200
@@ -1396,6 +1396,12 @@
                for( ; pc < limit; pc++)
                        if ( fs[pc].status != DFLOWwrapup)
                                break;
+               if (flow->stk->admit == 0) {
+                       @:DFLOWscheduler_body( DFLOWeligible(flow,fs,i,p,pc) )@
+               } else {
+                       @:DFLOWscheduler_body( DFLOWeligible(flow,fs,i,p,pc) && 
(*flow->stk->admit)(flow->cntxt, flow->mb, flow->stk, p) )@
+               }
+...@= DFLOWscheduler_body
                /* first try to find all instructions that use the released 
target */
                candidates = 0;
                for(i = pc; i < limit ; i++)
@@ -1403,14 +1409,13 @@
                                p = getInstrPtr(flow->mb, fs[i].pc);
                                for ( j= p->retc; j < p->argc; j++)
                                        if ( getArg(p,j)== oa ) {
-                                               if ( flow->stk->admit == 0 || 
(*flow->stk->admit)(flow->cntxt, flow->mb, flow->stk, p) )
-                                                       if ( 
DFLOWeligible(flow,fs,i,p,pc) ) {
-                                                               queued++;
-                                                               todo++;
-                                                               candidates = 1;
-                                                               
DFLOWactivate(flow,fs,i,p);
-                                                               
q_enqueue(flow->todo, fs+i);
-                                                       }
+                                               if ( @1 ) {
+                                                       queued++;
+                                                       todo++;
+                                                       candidates = 1;
+                                                       
DFLOWactivate(flow,fs,i,p);
+                                                       q_enqueue(flow->todo, 
fs+i);
+                                               }
                                                break;
                                        }
                        }
@@ -1419,14 +1424,14 @@
                        for(i = pc ; i < limit && queued < flow->nway ; i++)
                                if (fs[i].status == DFLOWpending ) {
                                        p = getInstrPtr(flow->mb, fs[i].pc);
-                                       if ( flow->stk->admit == 0 || 
(*flow->stk->admit)(flow->cntxt, flow->mb, flow->stk, p) )
-                                               if ( 
DFLOWeligible(flow,fs,i,p,pc) ) {
-                                                       queued++;
-                                                       todo++;
-                                                       
DFLOWactivate(flow,fs,i,p);
-                                                       q_enqueue(flow->todo, 
fs+i);
-                                               }
+                                       if ( @1 ) {
+                                               queued++;
+                                               todo++;
+                                               DFLOWactivate(flow,fs,i,p);
+                                               q_enqueue(flow->todo, fs+i);
+                                       }
                                }
+...@c
        }
        PARDEBUG {
                int candidates = 0;
_______________________________________________
Checkin-list mailing list
Checkin-list@monetdb.org
http://mail.monetdb.org/mailman/listinfo/checkin-list

Reply via email to