public static boolean PRINTSCHEDULESIM=false;
public static boolean PRINTCRITICALPATH=false;
public static boolean ABORTREADERS=false;
+ public static boolean SINGLETM=false;
public int CORENUM = 1;
public String structfile;
public String main;
state.THREAD=true;
else if (option.equals("-dsm"))
state.DSM=true;
+ else if (option.equals("-singleTM"))
+ state.SINGLETM=true;
else if (option.equals("-webinterface"))
state.WEBINTERFACE=true;
else if (option.equals("-instructionfailures"))
System.out.println("-struct structfile -- output structure declarations for repair tool");
System.out.println("-mainclass -- main function to call");
System.out.println("-dsm -- distributed shared memory support");
+ System.out.println("-singleTM -- single machine committing transactions");
System.out.println("-abortreaders -- abort readers");
System.out.println("-precise -- use precise garbage collection");
System.out.println("-conscheck -- turn on consistency checking");
printhelp() {
echo -robustroot set up the ROBUSTROOT to directory other than default one
echo -dsm distributed shared memory
+echo -singleTM single machine committing transactions
echo -abortreaders abort readers immediately
echo -trueprob double - probabiltiy of true branch
echo -dsmcaching -enable caching in dsm runtime
REPAIRROOT=~/research/Repair/RepairCompiler/
CURDIR=`pwd`
DSMFLAG=false
+SINGLETM=false
NOJAVA=false
CHECKFLAG=false
RECOVERFLAG=false
then
JAVAOPTS="$JAVAOPTS -dsm"
DSMFLAG=true
+elif [[ $1 = '-singleTM' ]]
+then
+JAVAOPTS="$JAVAOPTS -singleTM"
+SINGLETM=true
elif [[ $1 = '-prefetch' ]]
then
JAVAOPTS="$JAVAOPTS -prefetch"
FILES="$FILES $DSMRUNTIME/trans.c $DSMRUNTIME/mcpileq.c $DSMRUNTIME/objstr.c $DSMRUNTIME/dstm.c $DSMRUNTIME/mlookup.c $DSMRUNTIME/clookup.c $DSMRUNTIME/llookup.c $DSMRUNTIME/threadnotify.c $DSMRUNTIME/dstmserver.c $DSMRUNTIME/plookup.c $DSMRUNTIME/ip.c $DSMRUNTIME/queue.c $DSMRUNTIME/prelookup.c $DSMRUNTIME/machinepile.c $ROBUSTROOT/Runtime/localobjects.c $ROBUSTROOT/Runtime/thread.c $DSMRUNTIME/sockpool.c $DSMRUNTIME/addUdpEnhance.c $DSMRUNTIME/signal.c $DSMRUNTIME/gCollect.c $DSMRUNTIME/addPrefetchEnhance.c $DSMRUNTIME/dsmlock.c $DSMRUNTIME/prefetch.c"
fi
+if $SINGLETM
+then
+EXTRAOPTIONS="$EXTRAOPTIONS -lpthread -DCOMPILER -I$DSMRUNTIME"
+FILES="$FILES $DSMRUNTIME/singleTMCommit.c $DSMRUNTIME/objstr.c $DSMRUNTIME/clookup.c $DSMRUNTIME/threadnotify.c"
+fi
+
if $ABORTREADERS
then
FILES="$FILES $DSMRUNTIME/abortreaders.c"