From 2ddc6bf88a1c49ebc78bf35b46d486078fe9051a Mon Sep 17 00:00:00 2001 From: Hiroshi Yamauchi Date: Mon, 21 Dec 2015 14:06:23 -0800 Subject: [PATCH] Treat thread state kWaitingWeakGcRootRead as kJavaRunnable. Like kSuspended, kWaitingWeakGcRootRead means temporarily waiting for GC's purpose rather than the thread is waiting on a monitor. This may fix some jsr166 test failures. Bug: 25883050 Bug: 12687968 Change-Id: Ib53e18c0fb2ff95aa0491b1531201e583288684e --- runtime/native/java_lang_Thread.cc | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/runtime/native/java_lang_Thread.cc b/runtime/native/java_lang_Thread.cc index c75ff7882..13edd67b5 100644 --- a/runtime/native/java_lang_Thread.cc +++ b/runtime/native/java_lang_Thread.cc @@ -89,7 +89,7 @@ static jint Thread_nativeGetStatus(JNIEnv* env, jobject java_thread, jboolean ha case kWaitingInMainSignalCatcherLoop: return kJavaWaiting; case kWaitingForMethodTracingStart: return kJavaWaiting; case kWaitingForVisitObjects: return kJavaWaiting; - case kWaitingWeakGcRootRead: return kJavaWaiting; + case kWaitingWeakGcRootRead: return kJavaRunnable; case kWaitingForGcThreadFlip: return kJavaWaiting; case kSuspended: return kJavaRunnable; // Don't add a 'default' here so the compiler can spot incompatible enum changes. -- 2.11.0