Changeset: 874beaf3bf85 for MonetDB
URL: http://dev.monetdb.org/hg/MonetDB?cmd=changeset;node=874beaf3bf85
Modified Files:
monetdb5/optimizer/opt_garbageCollector.c
monetdb5/optimizer/opt_multicore.c
Branch: mutation
Log Message:
Make multicore block transparent
and check also for initial assignment before
emitting a garbage collection statement.
diffs (30 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
@@ -80,7 +80,8 @@ OPTgarbageCollectorImplementation(Client
/* force garbage collection of all within upper block */
depth--;
for (k = 0; k < vlimit; k++) {
- if (getEndLifespan(span,k) == i &&
+ if (getBeginLifespan(span,k) > 0 &&
+ getEndLifespan(span,k) == i &&
isaBatType(getVarType(mb,k)) &&
varGetProp(mb, k, keepProp) == NULL){
q= newAssignment(mb);
diff --git a/monetdb5/optimizer/opt_multicore.c
b/monetdb5/optimizer/opt_multicore.c
--- a/monetdb5/optimizer/opt_multicore.c
+++ b/monetdb5/optimizer/opt_multicore.c
@@ -39,10 +39,10 @@ OPTmulticoreImplementation(Client cntxt,
// introduce playground for runtime plan modifications
resizeMalBlk(mb, 2 * mb->ssize, 2 * mb->vsize);
- newStmt(mb,schedulerRef,multicoreRef);
+ pci = newStmt(mb,schedulerRef,multicoreRef);
+ varSetProperty(mb, getArg(pci,0), "transparent",0,0);
+ v = getArg(pci,0);
moveInstruction(mb, mb->stop-1,1);
- pci = getInstrPtr(mb,1);
- v = getArg(pci,0);
pci->barrier = BARRIERsymbol;
for ( i=0; i < mb->stop; i++){
pci = getInstrPtr(mb,i);
_______________________________________________
checkin-list mailing list
[email protected]
http://mail.monetdb.org/mailman/listinfo/checkin-list