model: rename PendingFutureValue 'act' to 'reader'
[c11tester.git] / threads-model.h
index b15c40944aedadb3114d1239d1f16b6259e51535..eb0fd438d388931ef0316231abd828d6e5295581 100644 (file)
@@ -7,11 +7,11 @@
 
 #include <ucontext.h>
 #include <stdint.h>
-#include <vector>
 
 #include "mymemory.h"
 #include <threads.h>
 #include "modeltypes.h"
+#include "stl-model.h"
 
 struct thread_params {
        thrd_start_t func;
@@ -126,6 +126,18 @@ public:
         * to allow their allocation/deallocation to follow the same pattern as
         * the rest of the backtracked/replayed program.
         */
+       void * operator new(size_t size) {
+               return Thread_malloc(size);
+       }
+       void operator delete(void *p, size_t size) {
+               Thread_free(p);
+       }
+       void * operator new[](size_t size) {
+               return Thread_malloc(size);
+       }
+       void operator delete[](void *p, size_t size) {
+               Thread_free(p);
+       }
 private:
        int create_context();
 
@@ -157,7 +169,7 @@ private:
         * list is used for thread joins, where another Thread waits for this
         * Thread to complete
         */
-       std::vector< ModelAction *, SnapshotAlloc<ModelAction *> > wait_list;
+       SnapVector<ModelAction *> wait_list;
 
        /**
         * The value returned by the last action in this thread