Initialize all of class Thread's fields.

Change-Id: I28f1539bbcfebe06e62de692d306b479ed3eaead
diff --git a/src/monitor.cc b/src/monitor.cc
index cc74838..0ef5fb4 100644
--- a/src/monitor.cc
+++ b/src/monitor.cc
@@ -126,7 +126,7 @@
 void Monitor::AppendToWaitSet(Thread* thread) {
   DCHECK(owner_ == Thread::Current());
   DCHECK(thread != NULL);
-  DCHECK(thread->wait_next_ == NULL);
+  DCHECK(thread->wait_next_ == NULL) << thread->wait_next_;
   if (wait_set_ == NULL) {
     wait_set_ = thread;
     return;
diff --git a/src/thread.cc b/src/thread.cc
index 86994cf..e44590a 100644
--- a/src/thread.cc
+++ b/src/thread.cc
@@ -849,12 +849,17 @@
       wait_cond_(new ConditionVariable("Thread wait condition variable")),
       wait_monitor_(NULL),
       interrupted_(false),
+      wait_next_(NULL),
+      card_table_(0),
       stack_end_(NULL),
       top_of_managed_stack_(),
+      top_of_managed_stack_pc_(0),
       native_to_managed_record_(NULL),
       top_sirt_(NULL),
       jni_env_(NULL),
       state_(Thread::kUnknown),
+      self_(NULL),
+      runtime_(NULL),
       exception_(NULL),
       suspend_count_(0),
       class_loader_override_(NULL),