Lines Matching refs:cursor

566 fill_node(struct callchain_node *node, struct callchain_cursor *cursor)  in fill_node()  argument
570 node->val_nr = cursor->nr - cursor->pos; in fill_node()
574 cursor_node = callchain_cursor_current(cursor); in fill_node()
623 callchain_cursor_advance(cursor); in fill_node()
624 cursor_node = callchain_cursor_current(cursor); in fill_node()
631 struct callchain_cursor *cursor, in add_child() argument
640 if (fill_node(new, cursor) < 0) { in add_child()
790 struct callchain_cursor *cursor, in split_add_child() argument
822 if (idx_total < cursor->nr) { in split_add_child()
833 node = callchain_cursor_current(cursor); in split_add_child()
834 new = add_child(parent, cursor, period); in split_add_child()
863 struct callchain_cursor *cursor,
868 struct callchain_cursor *cursor, in append_chain_children() argument
876 node = callchain_cursor_current(cursor); in append_chain_children()
888 ret = append_chain(rnode, cursor, period); in append_chain_children()
900 rnode = add_child(root, cursor, period); in append_chain_children()
915 struct callchain_cursor *cursor, in append_chain() argument
919 u64 start = cursor->pos; in append_chain()
933 node = callchain_cursor_current(cursor); in append_chain()
943 callchain_cursor_advance(cursor); in append_chain()
952 matches = cursor->pos - start; in append_chain()
956 if (split_add_child(root, cursor, cnode, start, matches, in append_chain()
964 if (matches == root->val_nr && cursor->pos == cursor->nr) { in append_chain()
971 if (append_chain_children(root, cursor, period) < 0) in append_chain()
978 struct callchain_cursor *cursor, in callchain_append() argument
981 if (!cursor->nr) in callchain_append()
984 callchain_cursor_commit(cursor); in callchain_append()
986 if (append_chain_children(&root->node, cursor, period) < 0) in callchain_append()
989 if (cursor->nr > root->max_depth) in callchain_append()
990 root->max_depth = cursor->nr; in callchain_append()
996 merge_chain_branch(struct callchain_cursor *cursor, in merge_chain_branch() argument
999 struct callchain_cursor_node **old_last = cursor->last; in merge_chain_branch()
1003 int old_pos = cursor->nr; in merge_chain_branch()
1007 callchain_cursor_append(cursor, list->ip, in merge_chain_branch()
1016 callchain_cursor_commit(cursor); in merge_chain_branch()
1017 if (append_chain_children(dst, cursor, src->hit) < 0) in merge_chain_branch()
1027 err = merge_chain_branch(cursor, dst, child); in merge_chain_branch()
1034 cursor->nr = old_pos; in merge_chain_branch()
1035 cursor->last = old_last; in merge_chain_branch()
1040 int callchain_merge(struct callchain_cursor *cursor, in callchain_merge() argument
1043 return merge_chain_branch(cursor, &dst->node, &src->node); in callchain_merge()
1046 int callchain_cursor_append(struct callchain_cursor *cursor, in callchain_cursor_append() argument
1052 struct callchain_cursor_node *node = *cursor->last; in callchain_cursor_append()
1059 *cursor->last = node; in callchain_cursor_append()
1076 cursor->nr++; in callchain_cursor_append()
1078 cursor->last = &node->next; in callchain_cursor_append()
1084 struct callchain_cursor *cursor, struct symbol **parent, in sample__resolve_callchain() argument
1093 return thread__resolve_callchain(al->thread, cursor, evsel, sample, in sample__resolve_callchain()
1592 void callchain_cursor_reset(struct callchain_cursor *cursor) in callchain_cursor_reset() argument
1596 cursor->nr = 0; in callchain_cursor_reset()
1597 cursor->last = &cursor->first; in callchain_cursor_reset()
1599 for (node = cursor->first; node != NULL; node = node->next) in callchain_cursor_reset()