Changeset: 95a8ad1fef6a for MonetDB
URL: http://dev.monetdb.org/hg/MonetDB?cmd=changeset;node=95a8ad1fef6a
Modified Files:
        monetdb5/scheduler/mut_transforms.c
Branch: mutation
Log Message:

code indentation and documentation


diffs (truncated from 605 to 300 lines):

diff --git a/monetdb5/scheduler/mut_transforms.c 
b/monetdb5/scheduler/mut_transforms.c
--- a/monetdb5/scheduler/mut_transforms.c
+++ b/monetdb5/scheduler/mut_transforms.c
@@ -646,34 +646,6 @@ removeMatPack(Mutant m, Client cntxt, In
 }
 
 
-
-
-       // Case 2       
-       //
-       // A1 := algebra.subselect(....);
-       // A2 := algebra.subselect(....);
-       // A3 := algebra.subselect(....);
-       // M  := mat.pack(A1, A2, A3);
-       //
-       // S1 := bat.partion(M,2,0);
-       // S2 := bat.partition(M,2,1);
-       //
-       // J1 := algebra.join(S1,b);
-       // J2 := algebra.join(S2,b);
-       // M_ := mat.pack(J1, J2);
-
-       // Morphed into new plan 
-       //
-       // A1 := algebra.subselect(....);
-       // A2 := algebra.subselect(....);
-       // A3 := algebra.subselect(....);
-       //
-       // S1 := mat.pack(A2,A3);
-       //
-       // J1 := algebra.join(A1,b);
-       // J2 := algebra.join(S1,b);
-       // M_ := mat.pack(J1, J2);
-
        // Case 1
        // 
        // A1 := algebra.subselect(....);
@@ -690,6 +662,9 @@ removeMatPack(Mutant m, Client cntxt, In
        // J2 := algebra.join(A2,b);
        // M := mat.pack(J1, J2);
 
+// Handles the case when the base operator is partitioned, but the dependent 
operator is non-partitioned. This function introduced partitions on the 
dependent 
+// operator equal to base operator partitions. It adds mat.pack for combining 
these partitions
+
 static void
 mutateNonPartitionedOperators(Mutant m, Client cntxt, int stmtLoop, int 
matPackRefInstr, int matPackRefInstrArg, InstrPtr instrMatPack, int profiler)
 {
@@ -791,256 +766,8 @@ mutateNonPartitionedOperators(Mutant m, 
                        //getInstrPtr(m->src,matPackRefInstr)->token = 
NOOPsymbol;                      
                }
        }
-
-//end of the function
 }
 
-
-
-//mutatePartitionedOperators(Mutant m, int stmtLoop, int matPackRefInstr, int 
matPackRefInstrArg, int batPartitionRefInstr, int batPartitionRefRefInstr, int 
batPartitionRefInstrArg, InstrPtr instrMatPack, int profiler)
-static void
-mutatePartitionedOperators(Mutant m, Client cntxt, int 
batPartitionRefRefInstr, int batPartitionRefInstr, int batPartitionRefInstrArg, 
InstrPtr instrMatPack, int profiler)
-{
-       int j;//,pc;
-       InstrPtr  q, depInstrMatPack, depInstr; 
-       int beginLifePC, beginLifeBatPartition, mat_pack_to_combine; 
-       int i,k, mat_pack_partitions, dep_mat_pack_partitions; 
-       Lifespan span;
-
-       span = setLifespan(m->src);
-//     pc = m->target;
-       depInstrMatPack = getInstrPtr(m->src, batPartitionRefRefInstr);         
// The second mat.pack on dependency operator
-
-       mat_pack_partitions = instrMatPack->argc - instrMatPack->retc;
-       dep_mat_pack_partitions = depInstrMatPack->argc - depInstrMatPack->retc;
-
-       depInstr = getInstrPtr(m->src, batPartitionRefInstr);
-
-       if(getModuleId(depInstr) == algebraRef && getFunctionId(depInstr) != 
joinRef)   // case 2       
-       {       
-                   if(mat_pack_partitions > dep_mat_pack_partitions)
-                   {
-                               // replace the algebra.join(Bat_Partition,...) 
with algebra.join(algebra.select.partition)
-                               //
-                               // A1 := algebra.subselect(....);
-                               // A2 := algebra.subselect(....);
-                               // A3 := algebra.subselect(....);
-                               // M  := mat.pack(A1, A2, A3);
-                               //
-                               // S1 := bat.partion(M,2,0);
-                               // S2 := bat.partition(M,2,1);
-                               //
-                               // J1,T1 := algebra.join(S1,b);
-                               // J2,T2 := algebra.join(S2,b);
-                               // M_ := mat.pack(J1, J2);
-                               // T_ := mat.pack(T1, T2);
-
-                               // Morphed into new plan 
-                               //
-                               // A1 := algebra.subselect(....);
-                               // A2 := algebra.subselect(....);
-                               // A3 := algebra.subselect(....);
-                               //
-                               // S1 := mat.pack(A2,A3);
-                               //
-                               // J1,T1 := algebra.join(A1,b);
-                               // J2,T2 := algebra.join(S1,b);
-                               // M_ := mat.pack(J1, J2);
-                               // T_ := mat.pack(T1, T2);
-                       
-                       // propogate from dependent operator (total_partition - 
1) to base operator all the mapping partitions
-                       for(i=0; i<dep_mat_pack_partitions-1; i++)
-                       {
-                               beginLifePC = getBeginLifespan(span, 
getArg(depInstrMatPack, depInstrMatPack->retc + i)); 
-                        
-                               // match the partitions of instrMatPack
-                               getArg(getInstrPtr(m->src,beginLifePC), 
batPartitionRefInstrArg) = getArg(instrMatPack, instrMatPack->retc + i);
-
-                               // remove the bat.partition instructions by 
assigning a NOOPsymbol
-                               beginLifeBatPartition = getBeginLifespan(span, 
getArg(getInstrPtr(m->src,beginLifePC),batPartitionRefInstrArg));
-                               getInstrPtr(m->src, 
beginLifeBatPartition)->token = NOOPsymbol; 
-                       }
-
-                       // the last argument adjustment instruction in 
depInstrMatPack = 
-                      beginLifePC = getBeginLifespan(span, 
getArg(depInstrMatPack, depInstrMatPack->retc + i)); 
-                  
-                       // remove the last bat.partition instructions 
corresponding to the last join instruction by assigning a NOOPsymbol 
-                       beginLifeBatPartition = getBeginLifespan(span, 
getArg(getInstrPtr(m->src,beginLifePC),batPartitionRefInstrArg));
-                       getInstrPtr(m->src, beginLifeBatPartition)->token = 
NOOPsymbol; 
-                       
-                       //create S1= mat.pack(A2,A3) instruction 
-                      mat_pack_to_combine = mat_pack_partitions - 
(dep_mat_pack_partitions - 1);
-                      q= newStmt(m->src,matRef,packRef);
-               //     getArg(q,0)= 
getArg(getInstrPtr(m->src,matPackRefInstr),0);
-
-                      for(k=0; k<mat_pack_to_combine; k++)
-                               q= pushArgument(m->src,q,getArg(instrMatPack, 
instrMatPack->retc + (dep_mat_pack_partitions - 1) + k ));
-                       m->src->profiler[m->src->stop-1].trace = profiler;
-
-                       // Adjusted the value of J2 := algebra.join(S1, b);     
-                       getArg(getInstrPtr(m->src,beginLifePC), 
batPartitionRefInstrArg) = getArg(q,0);                         
-                       
-                       removeMatPack(m, cntxt, instrMatPack);
-       
-               
-
-               // The case when base operator partitions are less than the 
dependent operator partitions
-               //
-                   }else if(mat_pack_partitions < dep_mat_pack_partitions)
-                   {
-                               // replace the algebra.join(Bat_Partition,...) 
with algebra.join(algebra.select.partition)
-                               // A1 := algebra.subselect(....);
-                               // A2 := algebra.subselect(....);
-                               // M  := mat.pack(A1, A2);
-                               //
-                               // S1 := bat.partition(M,2,0);
-                               // S2 := bat.partition(M,2,1);
-                               // S3 := bat.partition(M,2,2);
-                               //
-                               // J1 := algebra.join(S1,b);
-                               // J2 := algebra.join(S2,b);
-                               // J3 := algebra.join(S3,b);
-                               // M_ := mat.pack(J1, J2, J3);
-
-                               // Morphed into new plan 
-                               //
-                               // A1 := algebra.subselect(....);
-                               // A2 := algebra.subselect(....);
-                               //
-                               // S1 := bat.partition(A2,2,0);
-                               // S2 := bat.partition(A2,2,1);
-                               //
-                               // J1 := algebra.join(A1,b);
-                               // J2 := algebra.join(S1,b);
-                               // J3 := algebra.join(S2,b);
-                               // M_ := mat.pack(J1, J2, J3);
-
-                       // propogate from base operator (total_partition - 1) 
to dependent operator all the mapping partitions
-                       for(i=0; i<mat_pack_partitions-1; i++)
-                       {
-                               beginLifePC = getBeginLifespan(span, 
getArg(depInstrMatPack, depInstrMatPack->retc + i)); 
-                        
-                               // match the partitions of instrMatPack
-                               getArg(getInstrPtr(m->src,beginLifePC), 
batPartitionRefInstrArg) = getArg(instrMatPack, instrMatPack->retc + i);
-
-                               // remove the bat.partition instructions by 
assigning a NOOPsymbol
-                               beginLifeBatPartition = getBeginLifespan(span, 
getArg(getInstrPtr(m->src,beginLifePC),batPartitionRefInstrArg));
-                               getInstrPtr(m->src, 
beginLifeBatPartition)->token = NOOPsymbol; 
-                       }
-
-                       // replace the remaining bat.partitions instructions 
with appropriate parameters to suit new bat.partitions requirements
-                       for(j=0; i< dep_mat_pack_partitions; i++,j++)
-                       {                       
-                               beginLifePC = getBeginLifespan(span, 
getArg(depInstrMatPack, depInstrMatPack->retc + i)); 
-                               beginLifeBatPartition = getBeginLifespan(span, 
getArg(getInstrPtr(m->src,beginLifePC),batPartitionRefInstrArg));
-                       
-                               // reset the s1 := bat.partition(A2,2,0) in the 
original s2 := bat.partition(M,2,1);    
-                               getArg(getInstrPtr(m->src, 
beginLifeBatPartition), 1) = getArg(instrMatPack, mat_pack_partitions);         
     
-                               getArg(getInstrPtr(m->src, 
beginLifeBatPartition), 2) = dep_mat_pack_partitions - (mat_pack_partitions 
-1);     
-                               getArg(getInstrPtr(m->src, 
beginLifeBatPartition), 3) = j;      
-
-                               // set the J2 := algebra.join(S1,b) the S1 
argument to corresponding bat.partition output
-                               getArg(getInstrPtr(m->src, beginLifePC), 
batPartitionRefInstrArg) = getArg(getInstrPtr(m->src, beginLifeBatPartition), 
0); 
-                       }
-                       //instrMatPack->token = NOOPsymbol;     
-                       removeMatPack(m, cntxt, instrMatPack);
-                       
-                   }else       // both base and dependent operator partitions 
are equal
-                   {           // A1 := algebra.subselect(....);
-                               // A2 := algebra.subselect(....);
-                               // M  := mat.pack(A1, A2);
-                               //
-                               // S1 := bat.partition(M,2,0);
-                               // S2 := bat.partition(M,2,1);
-                               //
-                               // J1 := algebra.join(S1,b);
-                               // J2 := algebra.join(S2,b);
-                               // M_ := mat.pack(J1, J2);
-
-                               // Morphed into new plan 
-                               //
-                               // A1 := algebra.subselect(....);
-                               // A2 := algebra.subselect(....);
-                               //
-                               // J1 := algebra.join(A1,b);
-                               // J2 := algebra.join(A2,b);
-                               // M_ := mat.pack(J1, J2);
-
-
-                       for(i=0; i<mat_pack_partitions; i++)
-                       {
-                               beginLifePC = getBeginLifespan(span, 
getArg(depInstrMatPack, depInstrMatPack->retc + i)); 
-                        
-                               // match the partitions of instrMatPack
-                               getArg(getInstrPtr(m->src,beginLifePC), 
batPartitionRefInstrArg) = getArg(instrMatPack, instrMatPack->retc + i);
-
-                               // remove the bat.partition instructions by 
assigning a NOOPsymbol
-                               beginLifeBatPartition = getBeginLifespan(span, 
getArg(getInstrPtr(m->src,beginLifePC),batPartitionRefInstrArg));
-                               getInstrPtr(m->src, 
beginLifeBatPartition)->token = NOOPsymbol; 
-                       }
-                       //instrMatPack->token = NOOPsymbol;
-                       removeMatPack(m, cntxt, instrMatPack);
-                   }   
-       }else if(getModuleId(depInstr) == algebraRef && getFunctionId(depInstr) 
!= joinRef)     // case 2       
-       {
-
-
-
-
-
-       }else
-       {
-
-
-       }
-}                                                              
-
-void 
-mutationMatPack(Client cntxt, Mutant m) {
-    int pc = m->target, i, j, limit, profiler;
-    InstrPtr p=0, *old= m->src->stmt,  instrMatPack, instrBatPartition, 
instrBatPartitionRef;
-
-    int stmtLoop;           // Loop that goes through the entire instruction 
statements        
-    int matPackRefInstr;     // first instruction referring the mat.pack 
result 
-    int matPackRefInstrArg;  // The argument number in the first instruction 
referring mat.pack result.
-    int batPartitionRefInstr;
-    int batPartitionRefInstrArg;       
-    int batPartitionRefRefInstr;
-//    int batPartitionRefRefInstrArg; 
-    
-
-
-               
-       // search for the mat.pack outuput variable
-       // check in which instruction this mat.pack output appears in the 
dependency instructions. 
-
-       // If the referenced instruction is a non-bat-ref instruction, and its 
cost is relatively 
-       // comparable to the cost of mat.pack operator, then count the number 
of partitions in the
-       // mat.pack instruction and introduce those many partitions for the new 
dependency operator 
-       // which we just found. That is partition the input of the dependency 
operator (This dependency operator could be
-       // any for time being consider it to be a join operator and mat.pack 
combines a select operator
-       // Then we have join(A,x)   propagate to 
-       // join(s1,x), join(s2,x), join(s3,x)  that is propagate the input to 
mat.pack to the newly introduced join operator
-       // and remove the old join operator. also remove the old mat.pack 
operator from the select output, and introduce a new
-       // mat.pack operator to combine the join output
-       
-       // Case 1
-       // 
-       // A1 := algebra.subselect(....);
-       // A2 := algebra.subselect(....);
-       // M1 := mat.pack(A1, A2);
-       // J := algebra.join(M1, b);
-       //
-       //
-       // Morphed into new plan
-       //
-       // A1 := algebra.subselect(....);
-       // A2 := algebra.subselect(....);
-       // J1 := algebra.join(A1,b);
-       // J2 := algebra.join(A2,b);
-       // M := mat.pack(J1, J2);
_______________________________________________
checkin-list mailing list
checkin-list@monetdb.org
http://mail.monetdb.org/mailman/listinfo/checkin-list

Reply via email to