|
@@ -101,7 +101,7 @@ struct WNEvalPlan {
|
|
|
count_switches(Nright);
|
|
|
}
|
|
|
|
|
|
- void dump(int indent = 0) {
|
|
|
+ void dump(int indent = 0) const {
|
|
|
printf("%*sN = %lu, nthreads = %lu, inswitches = %lu, outswitches = %lu\n",
|
|
|
indent, "", N, nthreads, subtree_num_inswitches,
|
|
|
subtree_num_outswitches);
|
|
@@ -464,10 +464,12 @@ unsigned long start = printf_with_rtclock("Thread %u starting applyInversePermut
|
|
|
WNTraversal lefttraversal = traversal;
|
|
|
lefttraversal.inSwitches += numInSwitches;
|
|
|
lefttraversal.outSwitches += numOutSwitches;
|
|
|
- traversal.inSwitches +=
|
|
|
- plan.subplans[0].subtree_num_inswitches + numInSwitches;
|
|
|
- traversal.outSwitches +=
|
|
|
- plan.subplans[0].subtree_num_outswitches + numOutSwitches;
|
|
|
+ traversal.inSwitches += numInSwitches;
|
|
|
+ traversal.outSwitches += numOutSwitches;
|
|
|
+ if (plan.subplans.size() > 0) {
|
|
|
+ traversal.inSwitches += plan.subplans[0].subtree_num_inswitches;
|
|
|
+ traversal.outSwitches += plan.subplans[0].subtree_num_outswitches;
|
|
|
+ }
|
|
|
|
|
|
#ifdef SHOW_APPLYPERM
|
|
|
printf("s");
|