bool is_model_thread() const { return model_thread; }
+ void * get_stack_addr() { return stack; }
+ ClockVector * get_acq_fence_cv() { return acq_fence_cv; }
+
friend void thread_startup();
#ifdef TLS
friend void setup_context();
/** @brief The parent Thread which created this Thread */
Thread * const parent;
+ /** @brief Acquire fence cv */
+ ClockVector *acq_fence_cv;
+
/** @brief The THREAD_CREATE ModelAction which created this Thread */
ModelAction *creation;
void *arg;
ucontext_t context;
void *stack;
+ uint32_t stack_size;
#ifdef TLS
void * helper_stack;
public:
Thread * thread_current();
void thread_startup();
-void main_thread_startup();
+void initMainThread();
static inline thread_id_t thrd_to_id(thrd_t t)
{