diff options
author | 2014-07-17 11:09:10 -0700 | |
---|---|---|
committer | 2014-08-08 08:29:53 -0700 | |
commit | 68d8b42ddec39ec0174162d90d4abaa004d1983e (patch) | |
tree | 0bb6ccf3b996bb8363c10d07aa39cde221980602 /runtime/common_runtime_test.cc | |
parent | 9c522c2cbbf50dc687728747b37ad59985750b65 (diff) |
Wire up check JNI force copy mode.
Increase check JNI checks.
Break apart jni_internal.h in to jni_env_ext.h and java_vm_ext.h.
Fix the abuse of ScopedObjectAccess/annotalysis by ScopedCheck in the case
of VM routines.
Make class loader override and shared library class loader JNI global
references rather than mirror pointers.
Clean-ups to native bridge.
Change-Id: If7c6110b5aade7a402bfb67534af86a7b2cdeb55
Diffstat (limited to 'runtime/common_runtime_test.cc')
-rw-r--r-- | runtime/common_runtime_test.cc | 17 |
1 files changed, 8 insertions, 9 deletions
diff --git a/runtime/common_runtime_test.cc b/runtime/common_runtime_test.cc index 6f3b3a33d5..ab4a2bbdf7 100644 --- a/runtime/common_runtime_test.cc +++ b/runtime/common_runtime_test.cc @@ -354,23 +354,22 @@ jobject CommonRuntimeTest::LoadDex(const char* dex_name) { for (const DexFile* dex_file : dex_files) { class_linker_->RegisterDexFile(*dex_file); } - ScopedObjectAccessUnchecked soa(Thread::Current()); - ScopedLocalRef<jobject> class_loader_local(soa.Env(), - soa.Env()->AllocObject(WellKnownClasses::dalvik_system_PathClassLoader)); - jobject class_loader = soa.Env()->NewGlobalRef(class_loader_local.get()); - soa.Self()->SetClassLoaderOverride(soa.Decode<mirror::ClassLoader*>(class_loader_local.get())); + Thread* self = Thread::Current(); + JNIEnvExt* env = self->GetJniEnv(); + ScopedLocalRef<jobject> class_loader_local(env, + env->AllocObject(WellKnownClasses::dalvik_system_PathClassLoader)); + jobject class_loader = env->NewGlobalRef(class_loader_local.get()); + self->SetClassLoaderOverride(class_loader_local.get()); Runtime::Current()->SetCompileTimeClassPath(class_loader, dex_files); return class_loader; } CheckJniAbortCatcher::CheckJniAbortCatcher() : vm_(Runtime::Current()->GetJavaVM()) { - vm_->check_jni_abort_hook = Hook; - vm_->check_jni_abort_hook_data = &actual_; + vm_->SetCheckJniAbortHook(Hook, &actual_); } CheckJniAbortCatcher::~CheckJniAbortCatcher() { - vm_->check_jni_abort_hook = nullptr; - vm_->check_jni_abort_hook_data = nullptr; + vm_->SetCheckJniAbortHook(nullptr, nullptr); EXPECT_TRUE(actual_.empty()) << actual_; } |