Home | History | Annotate | Download | only in runtime

Lines Matching defs:iref

64 // Make sure that the entry at "idx" is correctly paired with "iref".
65 bool IndirectReferenceTable::CheckEntry(const char* what, IndirectRef iref, int idx) const {
68 if (UNLIKELY(checkRef != iref)) {
70 << " stale " << kind_ << " " << iref
164 bool IndirectReferenceTable::GetChecked(IndirectRef iref) const {
165 if (UNLIKELY(iref == NULL)) {
169 if (UNLIKELY(GetIndirectRefKind(iref) == kSirtOrInvalid)) {
170 LOG(ERROR) << "JNI ERROR (app bug): invalid " << kind_ << " " << iref;
176 int idx = ExtractIndex(iref);
179 << iref << " (index " << idx << " in a table of size " << topIndex << ")";
185 LOG(ERROR) << "JNI ERROR (app bug): accessed deleted " << kind_ << " " << iref;
190 if (UNLIKELY(!CheckEntry("use", iref, idx))) {
210 // Removes an object. We extract the table offset bits from "iref"
218 bool IndirectReferenceTable::Remove(uint32_t cookie, IndirectRef iref) {
228 int idx = ExtractIndex(iref);
231 if (GetIndirectRefKind(iref) == kSirtOrInvalid &&
232 Thread::Current()->SirtContains(reinterpret_cast<jobject>(iref))) {
236 if (GetIndirectRefKind(iref) == kSirtOrInvalid && vm->work_around_app_jni_bugs) {
237 mirror::Object* direct_pointer = reinterpret_cast<mirror::Object*>(iref);
240 LOG(WARNING) << "Trying to work around app JNI bugs, but didn't find " << iref << " in table!";
261 if (!vm->work_around_app_jni_bugs && !CheckEntry("remove", iref, idx)) {
297 if (!vm->work_around_app_jni_bugs && !CheckEntry("remove", iref, idx)) {