Lines Matching refs:cursor

394 fill_node(struct callchain_node *node, struct callchain_cursor *cursor)  in fill_node()  argument
398 node->val_nr = cursor->nr - cursor->pos; in fill_node()
402 cursor_node = callchain_cursor_current(cursor); in fill_node()
417 callchain_cursor_advance(cursor); in fill_node()
418 cursor_node = callchain_cursor_current(cursor); in fill_node()
424 struct callchain_cursor *cursor, in add_child() argument
430 fill_node(new, cursor); in add_child()
456 struct callchain_cursor *cursor, in split_add_child() argument
483 if (idx_total < cursor->nr) { in split_add_child()
492 node = callchain_cursor_current(cursor); in split_add_child()
493 new = add_child(parent, cursor, period); in split_add_child()
518 struct callchain_cursor *cursor,
523 struct callchain_cursor *cursor, in append_chain_children() argument
531 node = callchain_cursor_current(cursor); in append_chain_children()
543 ret = append_chain(rnode, cursor, period); in append_chain_children()
553 rnode = add_child(root, cursor, period); in append_chain_children()
563 struct callchain_cursor *cursor, in append_chain() argument
567 u64 start = cursor->pos; in append_chain()
581 node = callchain_cursor_current(cursor); in append_chain()
591 callchain_cursor_advance(cursor); in append_chain()
600 matches = cursor->pos - start; in append_chain()
604 split_add_child(root, cursor, cnode, start, matches, period); in append_chain()
609 if (matches == root->val_nr && cursor->pos == cursor->nr) { in append_chain()
615 append_chain_children(root, cursor, period); in append_chain()
621 struct callchain_cursor *cursor, in callchain_append() argument
624 if (!cursor->nr) in callchain_append()
627 callchain_cursor_commit(cursor); in callchain_append()
629 append_chain_children(&root->node, cursor, period); in callchain_append()
631 if (cursor->nr > root->max_depth) in callchain_append()
632 root->max_depth = cursor->nr; in callchain_append()
638 merge_chain_branch(struct callchain_cursor *cursor, in merge_chain_branch() argument
641 struct callchain_cursor_node **old_last = cursor->last; in merge_chain_branch()
645 int old_pos = cursor->nr; in merge_chain_branch()
649 callchain_cursor_append(cursor, list->ip, in merge_chain_branch()
656 callchain_cursor_commit(cursor); in merge_chain_branch()
657 append_chain_children(dst, cursor, src->hit); in merge_chain_branch()
666 err = merge_chain_branch(cursor, dst, child); in merge_chain_branch()
673 cursor->nr = old_pos; in merge_chain_branch()
674 cursor->last = old_last; in merge_chain_branch()
679 int callchain_merge(struct callchain_cursor *cursor, in callchain_merge() argument
682 return merge_chain_branch(cursor, &dst->node, &src->node); in callchain_merge()
685 int callchain_cursor_append(struct callchain_cursor *cursor, in callchain_cursor_append() argument
688 struct callchain_cursor_node *node = *cursor->last; in callchain_cursor_append()
695 *cursor->last = node; in callchain_cursor_append()
702 cursor->nr++; in callchain_cursor_append()
704 cursor->last = &node->next; in callchain_cursor_append()