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
[email protected]
http://mail.monetdb.org/mailman/listinfo/checkin-list