Function report |
Source Code:lib\xarray.c |
Create Date:2022-07-28 06:13:24 |
Last Modify:2020-03-12 14:18:49 | Copyright©Brick |
home page | Tree |
Annotation kernel can get tool activity | Download SCCT | Chinese |
Name:xas_expand adds nodes to the head of the tree until it has reached* sufficient height to be able to contain @xas->xa_index
Proto:static int xas_expand(struct xa_state *xas, void *head)
Type:int
Parameter:
Type | Parameter | Name |
---|---|---|
struct xa_state * | xas | |
void * | head |
559 | shift = 0 |
562 | If Not head Then |
563 | If max == 0 Then Return 0 |
565 | When max >> shift >= XA_CHUNK_SIZE cycle |
568 | Else if Private Then |
572 | xa_node = NULL |
575 | mark = 0 |
577 | XA_NODE_BUG_ON(node, shift > BITS_PER_LONG) |
582 | Total entry count = 1 |
583 | If xa_is_value() - Determine if an entry is a value.*@entry: XArray entry.* Context: Any context.* Return: True if the entry is a value, false if it is a pointer. Then Value entry count = 1 |
588 | cycle |
589 | If xa_track_free(xa) && mark == XA_FREE_MARK Then |
590 | node_mark_all(node, XA_FREE_MARK) |
593 | xa_mark_set(xa, XA_FREE_MARK) |
598 | If mark == XA_MARK_MAX Then Break |
607 | If Private Then |
608 | Slot offset in parent = 0 |
613 | xas_update(xas, node) |
619 | Return shift |
Name | Describe |
---|---|
xas_create | xas_create() - Create a slot to store an entry in.*@xas: XArray operation state.*@allow_root: %true if we can store the entry in the root directly* Most users will not need to call this function directly, as it is called* by xas_store() |
Source code conversion tool public plug-in interface | X |
---|---|
Support c/c++/esqlc/java Oracle/Informix/Mysql Plug-in can realize: logical Report Code generation and batch code conversion |