Home | History | Annotate | Download | only in jdwp

Lines Matching refs:entry

61   ObjectRegistryEntry* entry = nullptr;
62 if (ContainsLocked(soa.Self(), obj_h.Get(), identity_hash_code, &entry)) {
64 ++entry->reference_count;
66 entry = new ObjectRegistryEntry;
67 entry->jni_reference_type = JNIWeakGlobalRefType;
68 entry->jni_reference = nullptr;
69 entry->reference_count = 0;
70 entry->id = 0;
71 entry->identity_hash_code = identity_hash_code;
72 object_to_entry_.insert(std::make_pair(identity_hash_code, entry));
79 entry->jni_reference_type = JNIWeakGlobalRefType;
80 entry->jni_reference = env->NewWeakGlobalRef(local_reference);
81 entry->reference_count = 1;
82 entry->id = next_id_++;
84 id_to_entry_.Put(entry->id, entry);
88 return entry->id;
96 ObjectRegistryEntry* entry = it->second;
97 if (o == self->DecodeJObject(entry->jni_reference)) {
99 *out_entry = entry;
114 const ObjectRegistryEntry* entry = pair.second;
115 if (entry->jni_reference_type == JNIWeakGlobalRefType) {
116 env->DeleteWeakGlobalRef(entry->jni_reference);
118 env->DeleteGlobalRef(entry->jni_reference);
120 delete entry;
134 ObjectRegistryEntry& entry = *it->second;
135 return self->DecodeJObject(entry.jni_reference);
146 ObjectRegistryEntry& entry = *it->second;
147 return entry.jni_reference;
166 void ObjectRegistry::Demote(ObjectRegistryEntry& entry) {
167 if (entry.jni_reference_type == JNIGlobalRefType) {
170 jobject global = entry.jni_reference;
171 entry.jni_reference = env->NewWeakGlobalRef(entry.jni_reference);
172 entry.jni_reference_type = JNIWeakGlobalRefType;
177 void ObjectRegistry::Promote(ObjectRegistryEntry& entry) {
178 if (entry.jni_reference_type == JNIWeakGlobalRefType) {
181 jobject weak = entry.jni_reference;
182 entry.jni_reference = env->NewGlobalRef(entry.jni_reference);
183 entry.jni_reference_type = JNIGlobalRefType;
193 ObjectRegistryEntry& entry = *it->second;
194 if (entry.jni_reference_type == JNIWeakGlobalRefType) {
196 return env->IsSameObject(entry.jni_reference, NULL); // Has the jweak been collected?
209 ObjectRegistryEntry* entry = it->second;
210 entry->reference_count -= reference_count;
211 if (entry->reference_count <= 0) {
215 int32_t hash_code = entry->identity_hash_code;
218 if (entry == it->second) {
223 if (entry->jni_reference_type == JNIWeakGlobalRefType) {
224 env->DeleteWeakGlobalRef(entry->jni_reference);
226 env->DeleteGlobalRef(entry->jni_reference);
229 delete entry;