X-Git-Url: http://plrg.eecs.uci.edu/git/?p=c11tester.git;a=blobdiff_plain;f=snapshotimp.h;h=656c2c58ec3df3f3acb395efb8058dd3a832c5fb;hp=0f2d4b806df3869c3e3c2f2b278ca9687649e213;hb=8e503713cefb189d04ee959fec5148b72d822d16;hpb=fa63c91f079127c5d5a4ffce80af8ec0dcc82d51 diff --git a/snapshotimp.h b/snapshotimp.h index 0f2d4b80..656c2c58 100644 --- a/snapshotimp.h +++ b/snapshotimp.h @@ -1,3 +1,7 @@ +/** @file snapshotimp.h + * @brief Snapshotting implementation header file.. + */ + #ifndef _SNAPSHOTIMP_H #define _SNAPSHOTIMP_H #include "snapshot.h" @@ -7,10 +11,10 @@ #include #include #include -#define SHARED_MEMORY_DEFAULT ( 100 * ( 1 << 20 ) ) // 100mb for the shared memory -#define STACK_SIZE_DEFAULT ( ( 1 << 20 ) * 20 ) //20 mb out of the above 100 mb for my stack. +#define SHARED_MEMORY_DEFAULT (100 * ((size_t)1 << 20)) // 100mb for the shared memory +#define STACK_SIZE_DEFAULT (((size_t)1 << 20) * 20) // 20 mb out of the above 100 mb for my stack -#if USE_CHECKPOINTING +#if USE_MPROTECT_SNAPSHOT //Each snapshotrecord lists the firstbackingpage that must be written to revert to that snapshot struct SnapShotRecord { unsigned int firstBackingPage; @@ -51,20 +55,16 @@ struct SnapShot { //Global reference to snapshot data structure extern struct SnapShot * snapshotrecord; -void * ReturnPageAlignedAddress( void *); #else -struct Snapshot_t{ -char *mSharedMemoryBase; -char *mStackBase; +struct Snapshot { +void *mSharedMemoryBase; +void *mStackBase; size_t mStackSize; snapshot_id mIDToRollback; ucontext_t mContextToRollback; snapshot_id currSnapShotID; -#if SSDEBUG -struct timeval startTimeGlobal; -#endif volatile bool mbFinalize; }; -extern struct Snapshot_t * sTheRecord; +extern struct Snapshot * sTheRecord; #endif #endif