Lines Matching defs:list

365 static void enqueuePendingReference(Object *ref, Object **list)
368 assert(list != NULL);
370 if (*list == NULL) {
372 *list = ref;
374 Object *head = dvmGetFieldObject(*list, offset);
376 dvmSetFieldObject(*list, offset, ref);
384 static Object *dequeuePendingReference(Object **list)
386 assert(list != NULL);
387 assert(*list != NULL);
389 Object *head = dvmGetFieldObject(*list, offset);
391 if (*list == head) {
392 ref = *list;
393 *list = NULL;
396 dvmSetFieldObject(*list, offset, next);
405 * referent has not yet been marked, put it on the appropriate list in
420 Object **list = NULL;
422 list = &gcHeap->softReferences;
424 list = &gcHeap->weakReferences;
426 list = &gcHeap->finalizerReferences;
428 list = &gcHeap->phantomReferences;
430 assert(list != NULL);
431 enqueuePendingReference(obj, list);
662 * Walks the reference list marking any references subject to the
664 * removed from the list. References with white referents biased
665 * toward saving are blackened and also removed from the list.
667 static void preserveSomeSoftReferences(Object **list)
669 assert(list != NULL);
674 while (*list != NULL) {
675 Object *ref = dequeuePendingReference(list);
692 *list = clear;
701 * Unlink the reference list clearing references objects with white
705 static void clearWhiteReferences(Object **list)
707 assert(list != NULL);
710 while (*list != NULL) {
711 Object *ref = dequeuePendingReference(list);
721 assert(*list == NULL);
729 static void enqueueFinalizerReferences(Object **list)
731 assert(list != NULL);
736 while (*list != NULL) {
737 Object *ref = dequeuePendingReference(list);
752 assert(*list == NULL);
824 * Pushes a list of cleared references out to the managed heap.
910 * Walk through the list of objects that haven't been marked and free