diff options
| author | 2017-09-27 01:25:00 +0000 | |
|---|---|---|
| committer | 2017-09-27 01:25:00 +0000 | |
| commit | fb21f9db756751a535f46c5683b167a493cdd0c3 (patch) | |
| tree | fa0ac8d78851ae0ae169f2412ee796002a438fa7 /runtime/java_vm_ext.cc | |
| parent | 15aa5f6e87c96c4436ef54bbdd048ff5c6495cba (diff) | |
| parent | 25651129552c3e9a8c87c68852da43c6069d7a53 (diff) | |
Merge "ART: Refactor IRT:Add"
Diffstat (limited to 'runtime/java_vm_ext.cc')
| -rw-r--r-- | runtime/java_vm_ext.cc | 14 |
1 files changed, 12 insertions, 2 deletions
diff --git a/runtime/java_vm_ext.cc b/runtime/java_vm_ext.cc index c0d1861a8e..5a1605323e 100644 --- a/runtime/java_vm_ext.cc +++ b/runtime/java_vm_ext.cc @@ -589,7 +589,12 @@ jobject JavaVMExt::AddGlobalRef(Thread* self, ObjPtr<mirror::Object> obj) { return nullptr; } WriterMutexLock mu(self, *Locks::jni_globals_lock_); - IndirectRef ref = globals_.Add(kIRTFirstSegment, obj); + std::string error_msg; + IndirectRef ref = globals_.Add(kIRTFirstSegment, obj, &error_msg); + if (UNLIKELY(ref == nullptr)) { + LOG(FATAL) << error_msg; + UNREACHABLE(); + } return reinterpret_cast<jobject>(ref); } @@ -607,7 +612,12 @@ jweak JavaVMExt::AddWeakGlobalRef(Thread* self, ObjPtr<mirror::Object> obj) { self->CheckEmptyCheckpointFromWeakRefAccess(Locks::jni_weak_globals_lock_); weak_globals_add_condition_.WaitHoldingLocks(self); } - IndirectRef ref = weak_globals_.Add(kIRTFirstSegment, obj); + std::string error_msg; + IndirectRef ref = weak_globals_.Add(kIRTFirstSegment, obj, &error_msg); + if (UNLIKELY(ref == nullptr)) { + LOG(FATAL) << error_msg; + UNREACHABLE(); + } return reinterpret_cast<jweak>(ref); } |