函数逻辑报告 |
Source Code:lib\xarray.c |
Create Date:2022-07-27 07:10:40 |
Last Modify:2020-03-12 14:18:49 | Copyright©Brick |
首页 | 函数Tree |
注解内核,赢得工具 | 下载SCCT | English |
函数名称:xas_expand adds nodes to the head of the tree until it has reached* sufficient height to be able to contain @xas->xa_index
函数原型:static int xas_expand(struct xa_state *xas, void *head)
返回类型:int
参数:
类型 | 参数 | 名称 |
---|---|---|
struct xa_state * | xas | |
void * | head |
559 | shift等于0 |
562 | 如果非head则 |
563 | 如果max恒等于0则返回:0 |
565 | 当max右移shift位大于等于XA_CHUNK_SIZE循环 |
568 | 否则如果Private 则 |
572 | xa_node = NULL |
575 | mark等于0 |
577 | XA_NODE_BUG_ON(node, shift > BITS_PER_LONG) |
582 | Total entry count 等于1 |
583 | 如果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.则Value entry count 等于1 |
588 | 循环 |
589 | 如果xa_track_free(xa)且mark恒等于XA_FREE_MARK则 |
590 | node_mark_all(node, XA_FREE_MARK) |
593 | xa_mark_set(xa, XA_FREE_MARK) |
598 | 如果mark恒等于XA_MARK_MAX则退出 |
607 | 如果Private 则 |
608 | Slot offset in parent 等于0 |
613 | xas_update(xas, node) |
619 | 返回:shift |
名称 | 描述 |
---|---|
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() |
源代码转换工具 开放的插件接口 | X |
---|---|
支持:c/c++/esqlc/java Oracle/Informix/Mysql 插件可实现:逻辑报告 代码生成和批量转换代码 |