From: Brian Norris Date: Thu, 14 Jun 2012 16:22:31 +0000 (-0700) Subject: snapshot: define macros with type size_t X-Git-Tag: pldi2013~391^2~24 X-Git-Url: http://demsky.eecs.uci.edu/git/?a=commitdiff_plain;h=8e503713cefb189d04ee959fec5148b72d822d16;p=model-checker.git snapshot: define macros with type size_t The SHARED_MEMORY_DEFAULT and STACK_SIZE_DEFAULT macros need to be of type size_t, so cast them when they're defined, not when they're used. --- diff --git a/snapshot.cc b/snapshot.cc index af42843..01811ca 100644 --- a/snapshot.cc +++ b/snapshot.cc @@ -107,12 +107,12 @@ void createSharedLibrary(){ if( sTheRecord ) return; int fd = shm_open( "/ModelChecker-Snapshotter", O_RDWR | O_CREAT, 0777 ); //universal permissions. if( -1 == fd ) FAILURE("shm_open"); - if( -1 == ftruncate( fd, ( size_t )SHARED_MEMORY_DEFAULT + ( size_t )STACK_SIZE_DEFAULT ) ) FAILURE( "ftruncate" ); - void * memMapBase = mmap( 0, ( size_t )SHARED_MEMORY_DEFAULT + ( size_t )STACK_SIZE_DEFAULT, PROT_READ | PROT_WRITE, MAP_SHARED, fd, 0 ); + if( -1 == ftruncate( fd, SHARED_MEMORY_DEFAULT + STACK_SIZE_DEFAULT ) ) FAILURE( "ftruncate" ); + void * memMapBase = mmap( 0, SHARED_MEMORY_DEFAULT + STACK_SIZE_DEFAULT, PROT_READ | PROT_WRITE, MAP_SHARED, fd, 0 ); if( MAP_FAILED == memMapBase ) FAILURE("mmap"); sTheRecord = ( struct Snapshot * )memMapBase; sTheRecord->mSharedMemoryBase = (void *)((uintptr_t)memMapBase + sizeof(struct Snapshot)); - sTheRecord->mStackBase = (void *)((uintptr_t)memMapBase + (size_t)SHARED_MEMORY_DEFAULT); + sTheRecord->mStackBase = (void *)((uintptr_t)memMapBase + SHARED_MEMORY_DEFAULT); sTheRecord->mStackSize = STACK_SIZE_DEFAULT; sTheRecord->mIDToRollback = -1; sTheRecord->currSnapShotID = 0; diff --git a/snapshotimp.h b/snapshotimp.h index ce7bb31..656c2c5 100644 --- a/snapshotimp.h +++ b/snapshotimp.h @@ -11,8 +11,8 @@ #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_MPROTECT_SNAPSHOT //Each snapshotrecord lists the firstbackingpage that must be written to revert to that snapshot