From: jihoonl Date: Thu, 8 Oct 2009 23:30:34 +0000 (+0000) Subject: recovery flag added X-Git-Url: http://demsky.eecs.uci.edu/git/?a=commitdiff_plain;h=0fd27abbfccd216bf6ddfc002ae348b117dc36a4;p=IRC.git recovery flag added --- diff --git a/Robust/src/Runtime/garbage.c b/Robust/src/Runtime/garbage.c index e43dd3cb..ddd77783 100644 --- a/Robust/src/Runtime/garbage.c +++ b/Robust/src/Runtime/garbage.c @@ -14,7 +14,11 @@ #include "dmalloc.h" #endif #ifdef DSTM -#include "dstm.h" +#ifdef RECOVERY +#include +#else +#include +#endif #endif #ifdef STM #include "tm.h" diff --git a/Robust/src/Runtime/runtime.c b/Robust/src/Runtime/runtime.c index 701b9bea..c4502f55 100644 --- a/Robust/src/Runtime/runtime.c +++ b/Robust/src/Runtime/runtime.c @@ -8,9 +8,14 @@ #include "option.h" #include "methodheaders.h" #ifdef DSTM -#include "dstm.h" -#include "prelookup.h" -#include "prefetch.h" +#ifdef RECOVERY +#include "DSTM/interface_recovery/dstm.h" +#include "DSTM/interface_recovery/prelookup.h" +#else +#include "DSTM/interface/dstm.h" +#include "DSTM/interface/prelookup.h" +#include "DSTM/interface/prefetch.h" +#endif #endif #ifdef STM #include "tm.h" @@ -365,9 +370,9 @@ void CALL02(___System______rangePrefetch____L___Object_____AR_S, struct ___Objec return; } #endif -#ifdef RECOVERY -extern void* virtualtable[]; +#ifdef D___Task______execution____ +extern void* virtualtable[]; // associated with Task.execution(). finds proper execute method and call it void CALL01(___Task______execution____,struct ___Task___ * ___this___) { @@ -384,13 +389,8 @@ void CALL01(___Task______execution____,struct ___Task___ * ___this___) ((void(*) (void *))virtualtable[type*MAXCOUNT + EXECUTEMETHOD])(oid); #endif } -#else -void CALL01(___Task______execution____,struct ___Task___ * ___this___) -{ - return; -} -#endif #endif +#endif // DSTM /* STM Barrier constructs */ #ifdef D___Barrier______setBarrier____I diff --git a/Robust/src/Runtime/runtime.h b/Robust/src/Runtime/runtime.h index bea53a5b..b34e9a54 100644 --- a/Robust/src/Runtime/runtime.h +++ b/Robust/src/Runtime/runtime.h @@ -7,7 +7,11 @@ extern int instructioncount; extern int failurecount; #endif #ifdef DSTM -#include "dstm.h" +#ifdef RECOVERY +#include "DSTM/interface_recovery/dstm.h" +#else +#include "DSTM/interface/dstm.h" +#endif #endif #ifndef INTPTR diff --git a/Robust/src/Runtime/thread.c b/Robust/src/Runtime/thread.c index 485271f2..e76b0d9d 100644 --- a/Robust/src/Runtime/thread.c +++ b/Robust/src/Runtime/thread.c @@ -8,9 +8,14 @@ #include #ifdef DSTM +#ifdef RECOVERY +#include +#include +#else #include #include #endif +#endif #ifndef RAW #include diff --git a/Robust/src/buildscript b/Robust/src/buildscript index c3701c4b..979ade23 100755 --- a/Robust/src/buildscript +++ b/Robust/src/buildscript @@ -73,6 +73,7 @@ echo -help help ABORTREADERS=false; ROBUSTROOT=~/research/Robust/src DSMRUNTIME=$ROBUSTROOT/Runtime/DSTM/interface/ +DSMRECOVERYRUNTIME=$ROBUSTROOT/Runtime/DSTM/interface_recovery/ REPAIRROOT=~/research/Repair/RepairCompiler/ CURDIR=`pwd` DSMFLAG=false @@ -676,15 +677,15 @@ fi if $DSMFLAG then +if $DSMRECOVERY +then +EXTRAOPTIONS="$EXTRAOPTIONS -lpthread -DCOMPILER -DDSTM -I$DSMRECOVERYRUNTIME" +FILES="$FILES $DSMRECOVERYRUNTIME/trans.c $DSMRECOVERYRUNTIME/mcpileq.c $DSMRECOVERYRUNTIME/objstr.c $DSMRECOVERYRUNTIME/dstm.c $DSMRECOVERYRUNTIME/mlookup.c $DSMRECOVERYRUNTIME/clookup.c $DSMRECOVERYRUNTIME/llookup.c $DSMRECOVERYRUNTIME/tlookup.c $DSMRECOVERYRUNTIME/threadnotify.c $DSMRECOVERYRUNTIME/dstmserver.c $DSMRECOVERYRUNTIME/plookup.c $DSMRECOVERYRUNTIME/ip.c $DSMRECOVERYRUNTIME/queue.c $DSMRECOVERYRUNTIME/prelookup.c $DSMRECOVERYRUNTIME/machinepile.c $ROBUSTROOT/Runtime/localobjects.c $ROBUSTROOT/Runtime/thread.c $DSMRECOVERYRUNTIME/sockpool.c $DSMRECOVERYRUNTIME/addUdpEnhance.c $DSMRECOVERYRUNTIME/signal.c $DSMRECOVERYRUNTIME/gCollect.c $DSMRECOVERYRUNTIME/addPrefetchEnhance.c $DSMRECOVERYRUNTIME/dsmlock.c" +else EXTRAOPTIONS="$EXTRAOPTIONS -lpthread -DCOMPILER -DDSTM -I$DSMRUNTIME" 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 $DSMRECOVERY -then -FILES="$FILES $DSMRUNTIME/trans.c $DSMRUNTIME/mcpileq.c $DSMRUNTIME/objstr.c $DSMRUNTIME/dstm.c $DSMRUNTIME/mlookup.c $DSMRUNTIME/clookup.c $DSMRUNTIME/llookup.c $DSMRUNTIME/tlookup.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"