Lines Matching refs:array
145 int assoc_array_iterate(const struct assoc_array *array, in assoc_array_iterate() argument
150 struct assoc_array_ptr *root = ACCESS_ONCE(array->root); in assoc_array_iterate()
182 assoc_array_walk(const struct assoc_array *array, in assoc_array_walk() argument
197 cursor = ACCESS_ONCE(array->root); in assoc_array_walk()
319 void *assoc_array_find(const struct assoc_array *array, in assoc_array_find() argument
329 if (assoc_array_walk(array, ops, index_key, &result) != in assoc_array_find()
458 void assoc_array_destroy(struct assoc_array *array, in assoc_array_destroy() argument
461 assoc_array_destroy_subtree(array->root, ops); in assoc_array_destroy()
462 array->root = NULL; in assoc_array_destroy()
481 edit->set[0].ptr = &edit->array->root; in assoc_array_insert_in_empty_tree()
711 edit->set[0].ptr = &edit->array->root; in assoc_array_insert_into_terminal_node()
857 edit->set[0].ptr = &edit->array->root; in assoc_array_insert_mid_shortcut()
996 struct assoc_array_edit *assoc_array_insert(struct assoc_array *array, in assoc_array_insert() argument
1016 edit->array = array; in assoc_array_insert()
1021 switch (assoc_array_walk(array, ops, index_key, &result)) { in assoc_array_insert()
1111 struct assoc_array_edit *assoc_array_delete(struct assoc_array *array, in assoc_array_delete() argument
1128 edit->array = array; in assoc_array_delete()
1132 switch (assoc_array_walk(array, ops, index_key, &result)) { in assoc_array_delete()
1157 BUG_ON(array->nr_leaves_on_tree <= 0); in assoc_array_delete()
1170 if (array->nr_leaves_on_tree == 1) { in assoc_array_delete()
1171 edit->set[1].ptr = &array->root; in assoc_array_delete()
1174 edit->excised_subtree = array->root; in assoc_array_delete()
1262 edit->set[1].ptr = &array->root; in assoc_array_delete()
1306 struct assoc_array_edit *assoc_array_clear(struct assoc_array *array, in assoc_array_clear() argument
1313 if (!array->root) in assoc_array_clear()
1319 edit->array = array; in assoc_array_clear()
1321 edit->set[1].ptr = &array->root; in assoc_array_clear()
1323 edit->excised_subtree = array->root; in assoc_array_clear()
1405 if (edit->array->root == NULL) { in assoc_array_apply_edit()
1406 edit->array->nr_leaves_on_tree = 0; in assoc_array_apply_edit()
1425 edit->array->nr_leaves_on_tree += edit->adjust_count_by; in assoc_array_apply_edit()
1485 int assoc_array_gc(struct assoc_array *array, in assoc_array_gc() argument
1500 if (!array->root) in assoc_array_gc()
1506 edit->array = array; in assoc_array_gc()
1509 edit->set[0].ptr = &array->root; in assoc_array_gc()
1510 edit->excised_subtree = array->root; in assoc_array_gc()
1514 cursor = array->root; in assoc_array_gc()
1743 array->nr_leaves_on_tree = nr_leaves_on_tree; in assoc_array_gc()