Switch Thread::daemon_ over to the usual idiom, and make it more intention-revealing.

Change-Id: I0c3acef526415816b64c2aa5c6d3b5c9d9ef281d
diff --git a/src/thread.h b/src/thread.h
index 5e60637..24c78ee 100644
--- a/src/thread.h
+++ b/src/thread.h
@@ -512,6 +512,10 @@
   void CheckSafeToWait(MutexRank rank);
 
  private:
+  // We have no control over the size of 'bool', but want our boolean fields
+  // to be 4-byte quantities.
+  typedef uint32_t bool32_t;
+
   explicit Thread(bool daemon);
   ~Thread();
   void Destroy();
@@ -605,7 +609,7 @@
   // Pointer to the monitor lock we're currently waiting on (or NULL), guarded by wait_mutex_.
   Monitor* wait_monitor_;
   // Thread "interrupted" status; stays raised until queried or thrown, guarded by wait_mutex_.
-  uint32_t interrupted_;
+  bool32_t interrupted_;
   // The next thread in the wait set this thread is part of.
   Thread* wait_next_;
   // If we're blocked in MonitorEnter, this is the object we're trying to lock.
@@ -628,7 +632,7 @@
   Context* long_jump_context_;
 
   // A boolean telling us whether we're recursively throwing OOME.
-  uint32_t throwing_OutOfMemoryError_;
+  bool32_t throwing_OutOfMemoryError_;
 
   // How much of 'suspend_count_' is by request of the debugger, used to set things right
   // when the debugger detaches. Must be <= suspend_count_.
@@ -645,10 +649,7 @@
   std::string* name_;
 
   // Is the thread a daemon?
-  const bool daemon_;
-
-  // Keep data fields within Thread 4 byte aligned.
-  byte pad_[3];
+  const bool32_t daemon_;
 
   // A cached pthread_t for the pthread underlying this Thread*.
   pthread_t pthread_self_;
@@ -661,6 +662,7 @@
 
   // Cause for last suspension.
   const char* last_no_thread_suspension_cause_;
+
  public:
   // Runtime support function pointers
   EntryPoints entrypoints_;