summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--runtime/jdwp/object_registry.cc9
1 files changed, 5 insertions, 4 deletions
diff --git a/runtime/jdwp/object_registry.cc b/runtime/jdwp/object_registry.cc
index d637a94..29d3c8a 100644
--- a/runtime/jdwp/object_registry.cc
+++ b/runtime/jdwp/object_registry.cc
@@ -115,12 +115,13 @@ void ObjectRegistry::Clear() {
// Delete all the JNI references.
JNIEnv* env = self->GetJniEnv();
for (const auto& pair : object_to_entry_) {
- const ObjectRegistryEntry& entry = *pair.second;
- if (entry.jni_reference_type == JNIWeakGlobalRefType) {
- env->DeleteWeakGlobalRef(entry.jni_reference);
+ const ObjectRegistryEntry* entry = pair.second;
+ if (entry->jni_reference_type == JNIWeakGlobalRefType) {
+ env->DeleteWeakGlobalRef(entry->jni_reference);
} else {
- env->DeleteGlobalRef(entry.jni_reference);
+ env->DeleteGlobalRef(entry->jni_reference);
}
+ delete entry;
}
// Clear the maps.
object_to_entry_.clear();