threads: allocate Threads in via userMalloc()
[c11tester.git] / threads.cc
index 7e23f59dcf902fd4693e9fea34e81439e7a518ef..47a211c20fe37ea25bf2536dc26cbbc520437291 100644 (file)
 
 static void * stack_allocate(size_t size)
 {
-       return malloc(size);
+       return userMalloc(size);
 }
 
 static void stack_free(void *stack)
 {
-       free(stack);
+       userFree(stack);
 }
 
 Thread * thread_current(void)
@@ -63,6 +63,14 @@ void Thread::complete()
        }
 }
 
+void * Thread::operator new(size_t size) {
+       return userMalloc(size);
+}
+
+void Thread::operator delete(void *ptr) {
+       userFree(ptr);
+}
+
 Thread::Thread(thrd_t *t, void (*func)(), void *a) {
        int ret;
 
@@ -158,8 +166,6 @@ int main()
 
                /* Wait for all threads to complete */
                thread_wait_finish();
-
-               model->print_trace();
        } while (model->next_execution());
 
        delete th;