X-Git-Url: http://plrg.eecs.uci.edu/git/?p=c11tester.git;a=blobdiff_plain;f=snapshotimp.h;h=656c2c58ec3df3f3acb395efb8058dd3a832c5fb;hp=c28b4ebf015ff0b89acf46700288d353263a66f9;hb=8e503713cefb189d04ee959fec5148b72d822d16;hpb=1d6c949fef3b5da936f8499dde464f8df634267a diff --git a/snapshotimp.h b/snapshotimp.h index c28b4ebf..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 DEBUG -struct timeval startTimeGlobal; -#endif volatile bool mbFinalize; }; -extern struct Snapshot_t * sTheRecord; +extern struct Snapshot * sTheRecord; #endif #endif