From 8882dc1283771463a20194c083f4b8940a2d574b Mon Sep 17 00:00:00 2001 From: Steve Reinhardt Date: Wed, 15 Apr 2009 13:13:47 -0700 Subject: Get rid of the Unallocated thread context state. Basically merge it in with Halted. Also had to get rid of a few other functions that called ThreadContext::deallocate(), including: - InOrderCPU's setThreadRescheduleCondition. - ThreadContext::exit(). This function was there to avoid terminating simulation when one thread out of a multi-thread workload exits, but we need to find a better (non-cpu-centric) way. --- src/cpu/o3/thread_context.hh | 19 ------------------- 1 file changed, 19 deletions(-) (limited to 'src/cpu/o3/thread_context.hh') diff --git a/src/cpu/o3/thread_context.hh b/src/cpu/o3/thread_context.hh index c402e8fd9..e7c9c3b8f 100755 --- a/src/cpu/o3/thread_context.hh +++ b/src/cpu/o3/thread_context.hh @@ -122,9 +122,6 @@ class O3ThreadContext : public ThreadContext /** Set the status to Suspended. */ virtual void suspend(int delay = 0); - /** Set the status to Unallocated. */ - virtual void deallocate(int delay = 0); - /** Set the status to Halted. */ virtual void halt(int delay = 0); @@ -273,22 +270,6 @@ class O3ThreadContext : public ThreadContext #endif this->cpu->setNextNPC(val, this->thread->threadId()); } - - /** This function exits the thread context in the CPU and returns - * 1 if the CPU has no more active threads (meaning it's OK to exit); - * Used in syscall-emulation mode when a thread executes the 'exit' - * syscall. - */ - virtual int exit() - { - this->deallocate(); - - // If there are still threads executing in the system - if (this->cpu->numActiveThreads()) - return 0; // don't exit simulation - else - return 1; // exit simulation - } }; #endif -- cgit v1.2.3