X-Git-Url: http://demsky.eecs.uci.edu/git/?a=blobdiff_plain;f=mymemory.cc;fp=mymemory.cc;h=f296048406abd251c0e19447aed4090ecb5a63a1;hb=99928ab8d61239d499f5bf45ae9a2b41595350f8;hp=cdfa37282870e6e1d1665be7cea00d856a0a2b42;hpb=249a155b1ad7a7d1b53c0810cd7c85d6f99af47e;p=model-checker.git diff --git a/mymemory.cc b/mymemory.cc index cdfa372..f296048 100644 --- a/mymemory.cc +++ b/mymemory.cc @@ -134,8 +134,10 @@ void * HandleEarlyAllocationRequest(size_t sz) #if USE_MPROTECT_SNAPSHOT -/** @brief Global mspace reference for the snapshotting heap */ -mspace snapshot_space = NULL; +/** @brief Global mspace reference for the user's snapshotting heap + * @todo use this ONLY for user's allocations, not for internal snapshotting + * state */ +mspace user_snapshot_space = NULL; /** Check whether this is bootstrapped memory that we should not free */ static bool DontFree(void *ptr) @@ -146,8 +148,8 @@ static bool DontFree(void *ptr) /** @brief Snapshotting malloc implementation for user programs */ void *malloc(size_t size) { - if (snapshot_space) { - void *tmp = mspace_malloc(snapshot_space, size); + if (user_snapshot_space) { + void *tmp = mspace_malloc(user_snapshot_space, size); ASSERT(tmp); return tmp; } else @@ -158,13 +160,13 @@ void *malloc(size_t size) void free(void * ptr) { if (!DontFree(ptr)) - mspace_free(snapshot_space, ptr); + mspace_free(user_snapshot_space, ptr); } /** @brief Snapshotting realloc implementation for user programs */ void *realloc(void *ptr, size_t size) { - void *tmp = mspace_realloc(snapshot_space, ptr, size); + void *tmp = mspace_realloc(user_snapshot_space, ptr, size); ASSERT(tmp); return tmp; } @@ -172,8 +174,8 @@ void *realloc(void *ptr, size_t size) /** @brief Snapshotting calloc implementation for user programs */ void * calloc(size_t num, size_t size) { - if (snapshot_space) { - void *tmp = mspace_calloc(snapshot_space, num, size); + if (user_snapshot_space) { + void *tmp = mspace_calloc(user_snapshot_space, num, size); ASSERT(tmp); return tmp; } else {