outmethod.println("#include \"methodheaders.h\"");
outmethod.println("#include \"virtualtable.h\"");
outmethod.println("#include \"runtime.h\"");
- outmethod.println("#include \"dstm.h\"");
if (state.DSM) {
+ outmethod.println("#include \"addPrefetchEnhance.h\"");
outmethod.println("#include \"localobjects.h\"");
}
if(state.MULTICORE) {
outtask.println("struct taskdescriptor {");
outtask.println("void * taskptr;");
outtask.println("int numParameters;");
+ outtask.println(" int numTotal;");
outtask.println("struct parameterdescriptor **descriptorarray;");
outtask.println("char * name;");
outtask.println("};");
output.println("/* prefetchid_" + fpn.siteid + " */");
output.println("void * prefptr;");
output.println("int tmpindex;");
+
+ output.println("if((evalPrefetch["+fpn.siteid+"].operMode) || (evalPrefetch["+fpn.siteid+"].retrycount <= 0)) {");
/*Create C code for oid array */
output.print(" unsigned int oidarray_[] = {");
boolean needcomma=false;
}
output.println("};");
/* make the prefetch call to Runtime */
- output.println(" if(evalPrefetch["+fpn.siteid+"].operMode) {");
- output.println(" prefetch("+fpn.siteid+" ,"+tuplecount+", oidarray_, endoffsetarry_, fieldarry_);");
- output.println(" } else if(evalPrefetch["+fpn.siteid+"].retrycount <= 0) {");
- output.println(" prefetch("+fpn.siteid+" ,"+tuplecount+", oidarray_, endoffsetarry_, fieldarry_);");
- output.println(" evalPrefetch["+fpn.siteid+"].retrycount = RETRYINTERVAL;");
- output.println(" } else {");
- output.println(" evalPrefetch["+fpn.siteid+"].retrycount--;");
- output.println(" }");
+ output.println(" if(!evalPrefetch["+fpn.siteid+"].operMode) {");
+ output.println(" evalPrefetch["+fpn.siteid+"].retrycount = RETRYINTERVAL;");
+ output.println(" }");
+ output.println(" prefetch("+fpn.siteid+" ,"+tuplecount+", oidarray_, endoffsetarry_, fieldarry_);");
+ output.println(" } else {");
+ output.println(" evalPrefetch["+fpn.siteid+"].retrycount--;");
+ output.println(" }");
output.println("}");
}
}