Callers of SuspendAll should be in the kRunnable state

Change-Id: I37996164a5fd56251134683f717e6e00541cab22
diff --git a/src/thread_list.cc b/src/thread_list.cc
index 26faede..0512186 100644
--- a/src/thread_list.cc
+++ b/src/thread_list.cc
@@ -118,12 +118,11 @@
 void ThreadList::SuspendAll(bool for_debugger) {
   Thread* self = Thread::Current();
 
-  // TODO: add another thread_suspend_lock_ to avoid GC/debugger races.
-
   if (verbose_) {
     LOG(INFO) << *self << " SuspendAll starting..." << (for_debugger ? " (debugger)" : "");
   }
 
+  CHECK_EQ(self->GetState(), Thread::kRunnable);
   ThreadListLocker locker(this);
   Thread* debug_thread = Dbg::GetDebugThread();