Addressed reviewer comments.
diff --git a/vm/Thread.h b/vm/Thread.h
index 194e778..a829319 100644
--- a/vm/Thread.h
+++ b/vm/Thread.h
@@ -53,7 +53,6 @@
     THREAD_STARTING     = 6,        /* started, not yet on thread list */
     THREAD_NATIVE       = 7,        /* off in a JNI native method */
     THREAD_VMWAIT       = 8,        /* waiting on a VM resource */
-    THREAD_PAGING       = 9,        /* paging memory */
 } ThreadStatus;
 
 /* thread priorities, from java.lang.Thread */
@@ -81,6 +80,11 @@
 #define kMaxStackSize       (256*1024 + STACK_OVERFLOW_RESERVE)
 
 /*
+ * System thread state. See native/SystemThread.h.
+ */
+typedef struct SystemThread SystemThread;
+
+/*
  * Our per-thread data.
  *
  * These are allocated on the system heap.
@@ -218,10 +222,8 @@
     const u2*   currentPc2;
 #endif
 
-    /* /proc/PID/task/TID/stat */
-    int statFile;
-    /* offset of state char in stat file, last we checked */
-    int stateOffset;
+    /* system thread state */
+    SystemThread* systemThread;
 } Thread;
 
 /* start point for an internal thread; mimics pthread args */
@@ -411,7 +413,7 @@
  * thread is part of the GC's root set.
  */
 bool dvmIsOnThreadList(const Thread* thread);
- 
+
 /*
  * Get/set the JNIEnv field.
  */
@@ -430,7 +432,6 @@
  */
 void dvmChangeThreadPriority(Thread* thread, int newPriority);
 
-
 /*
  * Debug: dump information about a single thread.
  */
@@ -444,14 +445,6 @@
 void dvmDumpAllThreads(bool grabLock);
 void dvmDumpAllThreadsEx(const DebugOutputTarget* target, bool grabLock);
 
-/*
- * Reads the native thread status. If the thread is in native code, this
- * function queries the native thread state and converts it to an equivalent
- * ThreadStatus. If the native status can't be read, this function returns
- * THREAD_NATIVE.
- */
-ThreadStatus dvmGetNativeThreadStatus(Thread* thread);
-
 #ifdef WITH_MONITOR_TRACKING
 /*
  * Track locks held by the current thread, along with the stack trace at