From 0795f23920ee9aabf28e45c63cd592dcccf00216 Mon Sep 17 00:00:00 2001 From: Mathieu Chartier Date: Tue, 27 Sep 2016 18:43:30 -0700 Subject: Clean up ScopedThreadStateChange to use ObjPtr Also fixed inclusion of -inl.h files in .h files by adding scoped_object_access-inl.h and scoped_fast_natvie_object_access-inl.h Changed AddLocalReference / Decode to use ObjPtr. Changed libartbenchmark to be debug to avoid linkage errors. Bug: 31113334 Test: test-art-host Change-Id: I4d2e160483a29d21e1e0e440585ed328b9811483 --- runtime/openjdkjvm/OpenjdkJvm.cc | 21 ++++++++++----------- 1 file changed, 10 insertions(+), 11 deletions(-) (limited to 'runtime/openjdkjvm/OpenjdkJvm.cc') diff --git a/runtime/openjdkjvm/OpenjdkJvm.cc b/runtime/openjdkjvm/OpenjdkJvm.cc index 4a62ecdf4d..d46d78c2f4 100644 --- a/runtime/openjdkjvm/OpenjdkJvm.cc +++ b/runtime/openjdkjvm/OpenjdkJvm.cc @@ -43,7 +43,7 @@ #include "thread_list.h" #include "runtime.h" #include "handle_scope-inl.h" -#include "scoped_thread_state_change.h" +#include "scoped_thread_state_change-inl.h" #include "ScopedUtfChars.h" #include "mirror/class_loader.h" #include "verify_object-inl.h" @@ -52,7 +52,7 @@ #include "../../libcore/ojluni/src/main/native/jvm.h" // TODO(narayan): fix it #include "jni_internal.h" #include "mirror/string-inl.h" -#include "native/scoped_fast_native_object_access.h" +#include "native/scoped_fast_native_object_access-inl.h" #include "ScopedLocalRef.h" #include #include @@ -286,9 +286,8 @@ JNIEXPORT int JVM_GetHostName(char* name, int namelen) { JNIEXPORT jstring JVM_InternString(JNIEnv* env, jstring jstr) { art::ScopedFastNativeObjectAccess soa(env); - art::mirror::String* s = soa.Decode(jstr); - art::mirror::String* result = s->Intern(); - return soa.AddLocalReference(result); + art::ObjPtr s = soa.Decode(jstr); + return soa.AddLocalReference(s->Intern()); } JNIEXPORT jlong JVM_FreeMemory(void) { @@ -364,8 +363,8 @@ JNIEXPORT void JVM_Yield(JNIEnv* env ATTRIBUTE_UNUSED, jclass threadClass ATTRIB JNIEXPORT void JVM_Sleep(JNIEnv* env, jclass threadClass ATTRIBUTE_UNUSED, jobject java_lock, jlong millis) { art::ScopedFastNativeObjectAccess soa(env); - art::mirror::Object* lock = soa.Decode(java_lock); - art::Monitor::Wait(art::Thread::Current(), lock, millis, 0, true, art::kSleeping); + art::ObjPtr lock = soa.Decode(java_lock); + art::Monitor::Wait(art::Thread::Current(), lock.Decode(), millis, 0, true, art::kSleeping); } JNIEXPORT jobject JVM_CurrentThread(JNIEnv* env, jclass unused ATTRIBUTE_UNUSED) { @@ -395,19 +394,19 @@ JNIEXPORT jboolean JVM_IsInterrupted(JNIEnv* env, jobject jthread, jboolean clea JNIEXPORT jboolean JVM_HoldsLock(JNIEnv* env, jclass unused ATTRIBUTE_UNUSED, jobject jobj) { art::ScopedObjectAccess soa(env); - art::mirror::Object* object = soa.Decode(jobj); - if (object == NULL) { + art::ObjPtr object = soa.Decode(jobj); + if (object == nullptr) { art::ThrowNullPointerException("object == null"); return JNI_FALSE; } - return soa.Self()->HoldsLock(object); + return soa.Self()->HoldsLock(object.Decode()); } JNIEXPORT void JVM_SetNativeThreadName(JNIEnv* env, jobject jthread, jstring java_name) { ScopedUtfChars name(env, java_name); { art::ScopedObjectAccess soa(env); - if (soa.Decode(jthread) == soa.Self()->GetPeer()) { + if (soa.Decode(jthread) == soa.Self()->GetPeer()) { soa.Self()->SetThreadName(name.c_str()); return; } -- cgit v1.2.3-59-g8ed1b