outmethod.println("#endif\n");
}
+ if(state.DSMRECOVERYSTATS) {
+ outmethod.println("#ifdef RECOVERYSTATS\n");
+ outmethod.println("printf(\"***** Recovery Stats *****\\n\");");
+ outmethod.println("printf(\"numRecovery = %d\\n\",numRecovery)");
+ outmethod.println("int nRecovery=0;");
+ outmethod.println("for(nRecovery=0;nRecovery<numRecovery;nRecovery++) {");
+ outmethod.println(" printf(\"Dead Machine = %s\\n\",deadMachine[nRecovery]);");
+ outmethod.println(" printf(\"Recovery Time = %.2f\\n\",elapsedTime[nRecovery]);");
+ outmethod.println(" }\n");
+ outmethod.println("fflush(stdout);");
+ outmethod.println("#endif\n");
+ }
+
if (state.EVENTMONITOR) {
outmethod.println("dumpdata();");
}
outclassdefs.println("#endif\n");
}
outclassdefs.print("#endif\n");
+
+ if(state.DSMRECOVERYSTATS) {
+ outclassdefs.print("#ifdef RECOVERYSTATS\n");
+ outclassdefs.print("extern int numRecovery;\n");
+ outclassdefs.print("extern unsigned int deadMachine[8];\n");
+ outclassdefs.print("extern double elapsedTime[8];\n");
+ outclassdefs.print("#endif\n");
+ }
outclassdefs.print("int numprefetchsites = " + pa.prefetchsiteid + ";\n");
Iterator it=state.getClassSymbolTable().getDescriptorsIterator();
public boolean DSM=false;
public boolean DSMTASK=false;
public static boolean ABORTREADERS=false;
+
+ // Recovery Stats Options
+ public boolean DSMRECOVERYSTATS=false;
//STM options
public boolean EVENTMONITOR=false;
public static boolean STMARRAY=false;