Lines Matching refs:cursor

2136 static int append_inlines(struct callchain_cursor *cursor, struct map_symbol *ms, u64 ip,
2172 ret = callchain_cursor_append(cursor, ip, &ilist_ms,
2176 ret = callchain_cursor_append(cursor, ip, &ilist_ms, false,
2190 struct callchain_cursor *cursor,
2233 callchain_cursor_reset(cursor);
2254 callchain_cursor_reset(cursor);
2270 if (append_inlines(cursor, &ms, ip, branch, flags, nr_loop_iter,
2275 err = callchain_cursor_append(cursor, ip, &ms,
2371 struct callchain_cursor *cursor,
2385 err = add_callchain_ip(thread, cursor, parent,
2396 err = add_callchain_ip(thread, cursor, parent,
2408 struct callchain_cursor *cursor,
2416 if (cursor->pos == cursor->nr) {
2421 if (!cursor->curr)
2422 cursor->curr = cursor->first;
2424 cursor->curr = cursor->curr->next;
2427 memcpy(&lbr_stitch->prev_lbr_cursor[idx], cursor->curr,
2429 lbr_stitch->prev_lbr_cursor[idx].ms.thread = thread__get(cursor->curr->ms.thread);
2430 lbr_stitch->prev_lbr_cursor[idx].ms.map = map__get(cursor->curr->ms.map);
2433 cursor->pos++;
2437 struct callchain_cursor *cursor,
2456 * Using curr and pos to track the current cursor node.
2459 cursor->curr = NULL;
2460 cursor->pos = cursor->nr;
2461 if (cursor->nr) {
2462 cursor->curr = cursor->first;
2463 for (i = 0; i < (int)(cursor->nr - 1); i++)
2464 cursor->curr = cursor->curr->next;
2479 err = add_callchain_ip(thread, cursor, parent,
2487 * The number of cursor node increases.
2488 * Move the current cursor node.
2489 * But does not need to save current cursor node for entry 0.
2492 if (thread__lbr_stitch(thread) && (cursor->pos != cursor->nr)) {
2493 if (!cursor->curr)
2494 cursor->curr = cursor->first;
2496 cursor->curr = cursor->curr->next;
2497 cursor->pos++;
2504 err = add_callchain_ip(thread, cursor, parent,
2510 save_lbr_cursor_node(thread, cursor, i);
2519 err = add_callchain_ip(thread, cursor, parent,
2525 save_lbr_cursor_node(thread, cursor, i);
2539 err = add_callchain_ip(thread, cursor, parent,
2551 struct callchain_cursor *cursor)
2559 cnode = &stitch_node->cursor;
2561 err = callchain_cursor_append(cursor, cnode->ip,
2651 memcpy(&stitch_node->cursor, &lbr_stitch->prev_lbr_cursor[i],
2654 stitch_node->cursor.ms.thread =
2656 stitch_node->cursor.ms.map = map__get(lbr_stitch->prev_lbr_cursor[i].ms.map);
2705 struct callchain_cursor *cursor,
2742 map_symbol__exit(&stitch_node->cursor.ms);
2751 err = lbr_callchain_add_kernel_ip(thread, cursor, sample,
2757 err = lbr_callchain_add_lbr_ip(thread, cursor, sample, parent,
2763 err = lbr_callchain_add_stitched_lbr_ip(thread, cursor);
2770 err = lbr_callchain_add_stitched_lbr_ip(thread, cursor);
2774 err = lbr_callchain_add_lbr_ip(thread, cursor, sample, parent,
2780 err = lbr_callchain_add_kernel_ip(thread, cursor, sample,
2793 struct callchain_cursor *cursor,
2804 err = add_callchain_ip(thread, cursor, parent,
2823 struct callchain_cursor *cursor,
2847 err = resolve_lbr_callchain_sample(thread, cursor, sample, parent,
2911 err = add_callchain_ip(thread, cursor, parent,
2918 err = add_callchain_ip(thread, cursor, parent, root_al,
2937 err = find_prev_cpumode(chain, thread, cursor, parent, root_al,
2959 err = find_prev_cpumode(chain, thread, cursor, parent,
2986 err = add_callchain_ip(thread, cursor, parent,
2994 err = add_callchain_ip(thread, cursor, parent,
3007 struct callchain_cursor *cursor = arg;
3014 if (append_inlines(cursor, &entry->ms, entry->ip, /*branch=*/false, /*branch_flags=*/NULL,
3026 return callchain_cursor_append(cursor, entry->ip, &entry->ms,
3031 struct callchain_cursor *cursor,
3050 return unwind__get_entries(unwind_entry, cursor,
3055 struct callchain_cursor *cursor,
3064 if (cursor == NULL)
3067 callchain_cursor_reset(cursor);
3070 ret = thread__resolve_callchain_sample(thread, cursor,
3076 ret = thread__resolve_callchain_unwind(thread, cursor,
3080 ret = thread__resolve_callchain_unwind(thread, cursor,
3085 ret = thread__resolve_callchain_sample(thread, cursor,