diff options
Diffstat (limited to 'src/native/java_lang_Object.cc')
-rw-r--r-- | src/native/java_lang_Object.cc | 16 |
1 files changed, 10 insertions, 6 deletions
diff --git a/src/native/java_lang_Object.cc b/src/native/java_lang_Object.cc index 51e4581de0..d6b1bd6cf8 100644 --- a/src/native/java_lang_Object.cc +++ b/src/native/java_lang_Object.cc @@ -16,27 +16,31 @@ #include "jni_internal.h" #include "object.h" +#include "scoped_jni_thread_state.h" namespace art { static jobject Object_internalClone(JNIEnv* env, jobject javaThis) { - ScopedThreadStateChange tsc(Thread::Current(), kRunnable); - Object* o = Decode<Object*>(env, javaThis); - return AddLocalReference<jobject>(env, o->Clone()); + ScopedJniThreadState ts(env); + Object* o = ts.Decode<Object*>(javaThis); + return ts.AddLocalReference<jobject>(o->Clone()); } static void Object_notify(JNIEnv* env, jobject javaThis) { - Object* o = Decode<Object*>(env, javaThis); + ScopedJniThreadState ts(env); + Object* o = ts.Decode<Object*>(javaThis); o->Notify(); } static void Object_notifyAll(JNIEnv* env, jobject javaThis) { - Object* o = Decode<Object*>(env, javaThis); + ScopedJniThreadState ts(env); + Object* o = ts.Decode<Object*>(javaThis); o->NotifyAll(); } static void Object_wait(JNIEnv* env, jobject javaThis, jlong ms, jint ns) { - Object* o = Decode<Object*>(env, javaThis); + ScopedJniThreadState ts(env); + Object* o = ts.Decode<Object*>(javaThis); o->Wait(ms, ns); } |