-/** The fact that I am not expecting more than a handful requests is implicit in my not using a binary search here*/
-bool DontFree( void * ptr ){
- if( howManyFreed == nextRequest ) return false; //a minor optimization to reduce the number of instructions executed on each free call....
- if( NULL == ptr ) return true;
- for( int i = nextRequest - 1; i >= 0; --i ){
- if( allocatedReqs[ i ] == ( size_t )ptr ) {
- ++howManyFreed;
- return true;
- }
- }
- return false;
+/** @brief Global mspace reference for the model-checker's snapshotting heap */
+mspace model_snapshot_space = NULL;
+
+#if USE_MPROTECT_SNAPSHOT
+
+/** @brief Global mspace reference for the user's snapshotting heap */
+mspace user_snapshot_space = NULL;
+
+/** Check whether this is bootstrapped memory that we should not free */
+static bool DontFree(void *ptr)
+{
+ return (ptr >= (&bootstrapmemory[0]) && ptr < (&bootstrapmemory[BOOTSTRAPBYTES]));