diff options
Diffstat (limited to 'src/native/java_lang_Thread.cc')
-rw-r--r-- | src/native/java_lang_Thread.cc | 8 |
1 files changed, 3 insertions, 5 deletions
diff --git a/src/native/java_lang_Thread.cc b/src/native/java_lang_Thread.cc index adc246aa28..2a6f177ce5 100644 --- a/src/native/java_lang_Thread.cc +++ b/src/native/java_lang_Thread.cc @@ -25,8 +25,7 @@ namespace art { static jobject Thread_currentThread(JNIEnv* env, jclass) { - ScopedObjectAccess soa(env); - return soa.AddLocalReference<jobject>(soa.Self()->GetPeer()); + return reinterpret_cast<JNIEnvExt*>(env)->self->GetPeer(); } static jboolean Thread_interrupted(JNIEnv* env, jclass) { @@ -110,9 +109,8 @@ static void Thread_nativeSetName(JNIEnv* env, jobject peer, jstring java_name) { ScopedUtfChars name(env, java_name); { ScopedObjectAccess soa(env); - Thread* self = Thread::Current(); - if (soa.Decode<Object*>(peer) == self->GetPeer()) { - self->SetThreadName(name.c_str()); + if (soa.Env()->IsSameObject(peer, soa.Self()->GetPeer())) { + soa.Self()->SetThreadName(name.c_str()); return; } } |