Make sure threads allocating are in the kRunnable state
Change-Id: I55a08fcd38b3388698ef571d2d4fa9553210e197
diff --git a/src/java_lang_reflect_Array.cc b/src/java_lang_reflect_Array.cc
index d157282..08960b1 100644
--- a/src/java_lang_reflect_Array.cc
+++ b/src/java_lang_reflect_Array.cc
@@ -72,6 +72,7 @@
// subtract pieces off. Besides, we want to start with the outermost
// piece and work our way in.
jobject Array_createMultiArray(JNIEnv* env, jclass, jclass javaElementClass, jobject javaDimArray) {
+ ScopedThreadStateChange tsc(Thread::Current(), Thread::kRunnable);
DCHECK(javaElementClass != NULL);
Class* element_class = Decode<Class*>(env, javaElementClass);
DCHECK(element_class->IsClass());
@@ -120,6 +121,7 @@
jobject Array_createObjectArray(JNIEnv* env, jclass, jclass javaElementClass, jint length)
{
+ ScopedThreadStateChange tsc(Thread::Current(), Thread::kRunnable);
DCHECK(javaElementClass != NULL);
Class* element_class = Decode<Class*>(env, javaElementClass);
if (length < 0) {