Lines Matching refs:array

133 int assoc_array_iterate(const struct assoc_array *array,  in assoc_array_iterate()  argument
138 struct assoc_array_ptr *root = READ_ONCE(array->root); /* Address dependency. */ in assoc_array_iterate()
170 assoc_array_walk(const struct assoc_array *array, in assoc_array_walk() argument
185 cursor = READ_ONCE(array->root); /* Address dependency. */ in assoc_array_walk()
304 void *assoc_array_find(const struct assoc_array *array, in assoc_array_find() argument
314 if (assoc_array_walk(array, ops, index_key, &result) != in assoc_array_find()
441 void assoc_array_destroy(struct assoc_array *array, in assoc_array_destroy() argument
444 assoc_array_destroy_subtree(array->root, ops); in assoc_array_destroy()
445 array->root = NULL; in assoc_array_destroy()
464 edit->set[0].ptr = &edit->array->root; in assoc_array_insert_in_empty_tree()
704 edit->set[0].ptr = &edit->array->root; in assoc_array_insert_into_terminal_node()
824 edit->set[0].ptr = &edit->array->root; in assoc_array_insert_mid_shortcut()
963 struct assoc_array_edit *assoc_array_insert(struct assoc_array *array, in assoc_array_insert() argument
983 edit->array = array; in assoc_array_insert()
988 switch (assoc_array_walk(array, ops, index_key, &result)) { in assoc_array_insert()
1078 struct assoc_array_edit *assoc_array_delete(struct assoc_array *array, in assoc_array_delete() argument
1095 edit->array = array; in assoc_array_delete()
1099 switch (assoc_array_walk(array, ops, index_key, &result)) { in assoc_array_delete()
1125 BUG_ON(array->nr_leaves_on_tree <= 0); in assoc_array_delete()
1138 if (array->nr_leaves_on_tree == 1) { in assoc_array_delete()
1139 edit->set[1].ptr = &array->root; in assoc_array_delete()
1142 edit->excised_subtree = array->root; in assoc_array_delete()
1230 edit->set[1].ptr = &array->root; in assoc_array_delete()
1274 struct assoc_array_edit *assoc_array_clear(struct assoc_array *array, in assoc_array_clear() argument
1281 if (!array->root) in assoc_array_clear()
1287 edit->array = array; in assoc_array_clear()
1289 edit->set[1].ptr = &array->root; in assoc_array_clear()
1291 edit->excised_subtree = array->root; in assoc_array_clear()
1373 if (edit->array->root == NULL) { in assoc_array_apply_edit()
1374 edit->array->nr_leaves_on_tree = 0; in assoc_array_apply_edit()
1393 edit->array->nr_leaves_on_tree += edit->adjust_count_by; in assoc_array_apply_edit()
1453 int assoc_array_gc(struct assoc_array *array, in assoc_array_gc() argument
1469 if (!array->root) in assoc_array_gc()
1475 edit->array = array; in assoc_array_gc()
1478 edit->set[0].ptr = &array->root; in assoc_array_gc()
1479 edit->excised_subtree = array->root; in assoc_array_gc()
1483 cursor = array->root; in assoc_array_gc()
1718 array->nr_leaves_on_tree = nr_leaves_on_tree; in assoc_array_gc()