Lines Matching refs:cursor

559 fill_node(struct callchain_node *node, struct callchain_cursor *cursor)  in fill_node()  argument
563 node->val_nr = cursor->nr - cursor->pos; in fill_node()
567 cursor_node = callchain_cursor_current(cursor); in fill_node()
616 callchain_cursor_advance(cursor); in fill_node()
617 cursor_node = callchain_cursor_current(cursor); in fill_node()
624 struct callchain_cursor *cursor, in add_child() argument
633 if (fill_node(new, cursor) < 0) { in add_child()
782 struct callchain_cursor *cursor, in split_add_child() argument
814 if (idx_total < cursor->nr) { in split_add_child()
825 node = callchain_cursor_current(cursor); in split_add_child()
826 new = add_child(parent, cursor, period); in split_add_child()
855 struct callchain_cursor *cursor,
860 struct callchain_cursor *cursor, in append_chain_children() argument
868 node = callchain_cursor_current(cursor); in append_chain_children()
880 ret = append_chain(rnode, cursor, period); in append_chain_children()
892 rnode = add_child(root, cursor, period); in append_chain_children()
907 struct callchain_cursor *cursor, in append_chain() argument
911 u64 start = cursor->pos; in append_chain()
925 node = callchain_cursor_current(cursor); in append_chain()
935 callchain_cursor_advance(cursor); in append_chain()
944 matches = cursor->pos - start; in append_chain()
948 if (split_add_child(root, cursor, cnode, start, matches, in append_chain()
956 if (matches == root->val_nr && cursor->pos == cursor->nr) { in append_chain()
963 if (append_chain_children(root, cursor, period) < 0) in append_chain()
970 struct callchain_cursor *cursor, in callchain_append() argument
973 if (!cursor->nr) in callchain_append()
976 callchain_cursor_commit(cursor); in callchain_append()
978 if (append_chain_children(&root->node, cursor, period) < 0) in callchain_append()
981 if (cursor->nr > root->max_depth) in callchain_append()
982 root->max_depth = cursor->nr; in callchain_append()
988 merge_chain_branch(struct callchain_cursor *cursor, in merge_chain_branch() argument
991 struct callchain_cursor_node **old_last = cursor->last; in merge_chain_branch()
995 int old_pos = cursor->nr; in merge_chain_branch()
999 callchain_cursor_append(cursor, list->ip, in merge_chain_branch()
1008 callchain_cursor_commit(cursor); in merge_chain_branch()
1009 if (append_chain_children(dst, cursor, src->hit) < 0) in merge_chain_branch()
1019 err = merge_chain_branch(cursor, dst, child); in merge_chain_branch()
1026 cursor->nr = old_pos; in merge_chain_branch()
1027 cursor->last = old_last; in merge_chain_branch()
1032 int callchain_merge(struct callchain_cursor *cursor, in callchain_merge() argument
1035 return merge_chain_branch(cursor, &dst->node, &src->node); in callchain_merge()
1038 int callchain_cursor_append(struct callchain_cursor *cursor, in callchain_cursor_append() argument
1044 struct callchain_cursor_node *node = *cursor->last; in callchain_cursor_append()
1051 *cursor->last = node; in callchain_cursor_append()
1068 cursor->nr++; in callchain_cursor_append()
1070 cursor->last = &node->next; in callchain_cursor_append()
1076 struct callchain_cursor *cursor, struct symbol **parent, in sample__resolve_callchain() argument
1085 return thread__resolve_callchain(al->thread, cursor, evsel, sample, in sample__resolve_callchain()