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 |