Lines Matching refs:visitor

25 void dvmVisitObject(Visitor *visitor, Object *obj, void *arg)
27 assert(visitor != NULL);
30 visitObject(visitor, obj, arg);
36 static void visitHashTable(RootVisitor *visitor, HashTable *table,
39 assert(visitor != NULL);
45 (*visitor)(&entry->data, 0, type, arg);
54 static void visitReferenceTable(RootVisitor *visitor, ReferenceTable *table,
57 assert(visitor != NULL);
61 (*visitor)(entry, threadId, type, arg);
68 static void visitIndirectRefTable(RootVisitor *visitor, IndirectRefTable *table,
71 assert(visitor != NULL);
75 (*visitor)(*it, threadId, type, arg);
83 static void visitThreadStack(RootVisitor *visitor, Thread *thread, void *arg)
85 assert(visitor != NULL);
111 (*visitor)(&fp[i], threadId, ROOT_JAVA_FRAME, arg);
145 (*visitor)(&fp[i], threadId, ROOT_JAVA_FRAME, arg);
162 static void visitThread(RootVisitor *visitor, Thread *thread, void *arg)
166 assert(visitor != NULL);
169 (*visitor)(&thread->threadObj, threadId, ROOT_THREAD_OBJECT, arg);
170 (*visitor)(&thread->exception, threadId, ROOT_NATIVE_STACK, arg);
171 visitReferenceTable(visitor, &thread->internalLocalRefTable, threadId, ROOT_NATIVE_STACK, arg);
172 visitIndirectRefTable(visitor, &thread->jniLocalRefTable, threadId, ROOT_JNI_LOCAL, arg);
174 visitReferenceTable(visitor, &thread->jniMonitorRefTable, threadId, ROOT_JNI_MONITOR, arg);
176 visitThreadStack(visitor, thread, arg);
182 static void visitThreads(RootVisitor *visitor, void *arg)
186 assert(visitor != NULL);
190 visitThread(visitor, thread, arg);
196 static void visitPrimitiveTypes(RootVisitor *visitor, void *arg)
198 (*visitor)(&gDvm.typeVoid, 0, ROOT_STICKY_CLASS, arg);
199 (*visitor)(&gDvm.typeBoolean, 0, ROOT_STICKY_CLASS, arg);
200 (*visitor)(&gDvm.typeByte, 0, ROOT_STICKY_CLASS, arg);
201 (*visitor)(&gDvm.typeShort, 0, ROOT_STICKY_CLASS, arg);
202 (*visitor)(&gDvm.typeChar, 0, ROOT_STICKY_CLASS, arg);
203 (*visitor)(&gDvm.typeInt, 0, ROOT_STICKY_CLASS, arg);
204 (*visitor)(&gDvm.typeLong, 0, ROOT_STICKY_CLASS, arg);
205 (*visitor)(&gDvm.typeFloat, 0, ROOT_STICKY_CLASS, arg);
206 (*visitor)(&gDvm.typeDouble, 0, ROOT_STICKY_CLASS, arg);
212 void dvmVisitRoots(RootVisitor *visitor, void *arg)
214 assert(visitor != NULL);
215 visitHashTable(visitor, gDvm.loadedClasses, ROOT_STICKY_CLASS, arg);
216 visitPrimitiveTypes(visitor, arg);
218 visitHashTable(visitor, gDvm.dbgRegistry, ROOT_DEBUGGER, arg);
221 visitHashTable(visitor, gDvm.literalStrings, ROOT_INTERNED_STRING, arg);
224 visitIndirectRefTable(visitor, &gDvm.jniGlobalRefTable, 0, ROOT_JNI_GLOBAL, arg);
227 visitReferenceTable(visitor, &gDvm.jniPinRefTable, 0, ROOT_VM_INTERNAL, arg);
229 visitThreads(visitor, arg);
230 (*visitor)(&gDvm.outOfMemoryObj, 0, ROOT_VM_INTERNAL, arg);
231 (*visitor)(&gDvm.internalErrorObj, 0, ROOT_VM_INTERNAL, arg);
232 (*visitor)(&gDvm.noClassDefFoundErrorObj, 0, ROOT_VM_INTERNAL, arg);