Make sure threads allocating are in the kRunnable state

Change-Id: I55a08fcd38b3388698ef571d2d4fa9553210e197
diff --git a/src/java_lang_String.cc b/src/java_lang_String.cc
index 9aa5221..ff182e1 100644
--- a/src/java_lang_String.cc
+++ b/src/java_lang_String.cc
@@ -39,6 +39,7 @@
 namespace {
 
 jint String_compareTo(JNIEnv* env, jobject javaThis, jobject javaRhs) {
+  ScopedThreadStateChange tsc(Thread::Current(), Thread::kRunnable);
   String* lhs = Decode<String*>(env, javaThis);
   String* rhs = Decode<String*>(env, javaRhs);