diff options
| author | 2016-10-25 15:18:14 +0000 | |
|---|---|---|
| committer | 2016-10-25 15:18:14 +0000 | |
| commit | 5b6fbd02f03fd41829c7dd4bfce97a62346be854 (patch) | |
| tree | bc1c72e0ac46d4e1c630e11fdf6ee8ba668cdf77 /runtime/java_vm_ext.cc | |
| parent | 3e653ff5d455a79b5fc8e272c622dd472fafd422 (diff) | |
| parent | 9d7ef62b854289632791a83223c1a5a5b3c8fc64 (diff) | |
Merge changes Iae3a933e,I08ff5d6e
* changes:
ART: Make IndirectReferenceTable resizable
ART: Change IndirectReferenceTable
Diffstat (limited to 'runtime/java_vm_ext.cc')
| -rw-r--r-- | runtime/java_vm_ext.cc | 15 |
1 files changed, 9 insertions, 6 deletions
diff --git a/runtime/java_vm_ext.cc b/runtime/java_vm_ext.cc index f1f9de8ef8..a1ed470886 100644 --- a/runtime/java_vm_ext.cc +++ b/runtime/java_vm_ext.cc @@ -422,10 +422,13 @@ JavaVMExt::JavaVMExt(Runtime* runtime, tracing_enabled_(runtime_options.Exists(RuntimeArgumentMap::JniTrace) || VLOG_IS_ON(third_party_jni)), trace_(runtime_options.GetOrDefault(RuntimeArgumentMap::JniTrace)), - globals_(kGlobalsMax, kGlobal, error_msg), + globals_(kGlobalsMax, kGlobal, IndirectReferenceTable::ResizableCapacity::kNo, error_msg), libraries_(new Libraries), unchecked_functions_(&gJniInvokeInterface), - weak_globals_(kWeakGlobalsMax, kWeakGlobal, error_msg), + weak_globals_(kWeakGlobalsMax, + kWeakGlobal, + IndirectReferenceTable::ResizableCapacity::kNo, + error_msg), allow_accessing_weak_globals_(true), weak_globals_add_condition_("weak globals add condition", (CHECK(Locks::jni_weak_globals_lock_ != nullptr), @@ -551,7 +554,7 @@ jobject JavaVMExt::AddGlobalRef(Thread* self, ObjPtr<mirror::Object> obj) { return nullptr; } WriterMutexLock mu(self, *Locks::jni_globals_lock_); - IndirectRef ref = globals_.Add(IRT_FIRST_SEGMENT, obj); + IndirectRef ref = globals_.Add(kIRTFirstSegment, obj); return reinterpret_cast<jobject>(ref); } @@ -563,7 +566,7 @@ jweak JavaVMExt::AddWeakGlobalRef(Thread* self, ObjPtr<mirror::Object> obj) { while (UNLIKELY(!MayAccessWeakGlobals(self))) { weak_globals_add_condition_.WaitHoldingLocks(self); } - IndirectRef ref = weak_globals_.Add(IRT_FIRST_SEGMENT, obj); + IndirectRef ref = weak_globals_.Add(kIRTFirstSegment, obj); return reinterpret_cast<jweak>(ref); } @@ -572,7 +575,7 @@ void JavaVMExt::DeleteGlobalRef(Thread* self, jobject obj) { return; } WriterMutexLock mu(self, *Locks::jni_globals_lock_); - if (!globals_.Remove(IRT_FIRST_SEGMENT, obj)) { + if (!globals_.Remove(kIRTFirstSegment, obj)) { LOG(WARNING) << "JNI WARNING: DeleteGlobalRef(" << obj << ") " << "failed to find entry"; } @@ -583,7 +586,7 @@ void JavaVMExt::DeleteWeakGlobalRef(Thread* self, jweak obj) { return; } MutexLock mu(self, *Locks::jni_weak_globals_lock_); - if (!weak_globals_.Remove(IRT_FIRST_SEGMENT, obj)) { + if (!weak_globals_.Remove(kIRTFirstSegment, obj)) { LOG(WARNING) << "JNI WARNING: DeleteWeakGlobalRef(" << obj << ") " << "failed to find entry"; } |