Lines Matching refs:iter
494 iter_next_nop_entry(struct hist_entry_iter *iter __maybe_unused, in iter_next_nop_entry()
501 iter_add_next_nop_entry(struct hist_entry_iter *iter __maybe_unused, in iter_add_next_nop_entry()
508 iter_prepare_mem_entry(struct hist_entry_iter *iter, struct addr_location *al) in iter_prepare_mem_entry() argument
510 struct perf_sample *sample = iter->sample; in iter_prepare_mem_entry()
517 iter->priv = mi; in iter_prepare_mem_entry()
522 iter_add_single_mem_entry(struct hist_entry_iter *iter, struct addr_location *al) in iter_add_single_mem_entry() argument
525 struct mem_info *mi = iter->priv; in iter_add_single_mem_entry()
526 struct hists *hists = evsel__hists(iter->evsel); in iter_add_single_mem_entry()
532 cost = iter->sample->weight; in iter_add_single_mem_entry()
543 he = __hists__add_entry(hists, al, iter->parent, NULL, mi, in iter_add_single_mem_entry()
548 iter->he = he; in iter_add_single_mem_entry()
553 iter_finish_mem_entry(struct hist_entry_iter *iter, in iter_finish_mem_entry() argument
556 struct perf_evsel *evsel = iter->evsel; in iter_finish_mem_entry()
558 struct hist_entry *he = iter->he; in iter_finish_mem_entry()
566 err = hist_entry__append_callchain(he, iter->sample); in iter_finish_mem_entry()
574 iter->priv = NULL; in iter_finish_mem_entry()
576 iter->he = NULL; in iter_finish_mem_entry()
581 iter_prepare_branch_entry(struct hist_entry_iter *iter, struct addr_location *al) in iter_prepare_branch_entry() argument
584 struct perf_sample *sample = iter->sample; in iter_prepare_branch_entry()
590 iter->curr = 0; in iter_prepare_branch_entry()
591 iter->total = sample->branch_stack->nr; in iter_prepare_branch_entry()
593 iter->priv = bi; in iter_prepare_branch_entry()
598 iter_add_single_branch_entry(struct hist_entry_iter *iter __maybe_unused, in iter_add_single_branch_entry()
602 iter->he = NULL; in iter_add_single_branch_entry()
608 iter_next_branch_entry(struct hist_entry_iter *iter, struct addr_location *al) in iter_next_branch_entry() argument
610 struct branch_info *bi = iter->priv; in iter_next_branch_entry()
611 int i = iter->curr; in iter_next_branch_entry()
616 if (iter->curr >= iter->total) in iter_next_branch_entry()
626 iter_add_next_branch_entry(struct hist_entry_iter *iter, struct addr_location *al) in iter_add_next_branch_entry() argument
629 struct perf_evsel *evsel = iter->evsel; in iter_add_next_branch_entry()
632 int i = iter->curr; in iter_add_next_branch_entry()
635 bi = iter->priv; in iter_add_next_branch_entry()
637 if (iter->hide_unresolved && !(bi[i].from.sym && bi[i].to.sym)) in iter_add_next_branch_entry()
644 he = __hists__add_entry(hists, al, iter->parent, &bi[i], NULL, in iter_add_next_branch_entry()
653 iter->he = he; in iter_add_next_branch_entry()
654 iter->curr++; in iter_add_next_branch_entry()
659 iter_finish_branch_entry(struct hist_entry_iter *iter, in iter_finish_branch_entry() argument
662 zfree(&iter->priv); in iter_finish_branch_entry()
663 iter->he = NULL; in iter_finish_branch_entry()
665 return iter->curr >= iter->total ? 0 : -1; in iter_finish_branch_entry()
669 iter_prepare_normal_entry(struct hist_entry_iter *iter __maybe_unused, in iter_prepare_normal_entry()
676 iter_add_single_normal_entry(struct hist_entry_iter *iter, struct addr_location *al) in iter_add_single_normal_entry() argument
678 struct perf_evsel *evsel = iter->evsel; in iter_add_single_normal_entry()
679 struct perf_sample *sample = iter->sample; in iter_add_single_normal_entry()
682 he = __hists__add_entry(evsel__hists(evsel), al, iter->parent, NULL, NULL, in iter_add_single_normal_entry()
688 iter->he = he; in iter_add_single_normal_entry()
693 iter_finish_normal_entry(struct hist_entry_iter *iter, in iter_finish_normal_entry() argument
696 struct hist_entry *he = iter->he; in iter_finish_normal_entry()
697 struct perf_evsel *evsel = iter->evsel; in iter_finish_normal_entry()
698 struct perf_sample *sample = iter->sample; in iter_finish_normal_entry()
703 iter->he = NULL; in iter_finish_normal_entry()
711 iter_prepare_cumulative_entry(struct hist_entry_iter *iter, in iter_prepare_cumulative_entry() argument
723 he_cache = malloc(sizeof(*he_cache) * (iter->max_stack + 1)); in iter_prepare_cumulative_entry()
727 iter->priv = he_cache; in iter_prepare_cumulative_entry()
728 iter->curr = 0; in iter_prepare_cumulative_entry()
734 iter_add_single_cumulative_entry(struct hist_entry_iter *iter, in iter_add_single_cumulative_entry() argument
737 struct perf_evsel *evsel = iter->evsel; in iter_add_single_cumulative_entry()
739 struct perf_sample *sample = iter->sample; in iter_add_single_cumulative_entry()
740 struct hist_entry **he_cache = iter->priv; in iter_add_single_cumulative_entry()
744 he = __hists__add_entry(hists, al, iter->parent, NULL, NULL, in iter_add_single_cumulative_entry()
750 iter->he = he; in iter_add_single_cumulative_entry()
751 he_cache[iter->curr++] = he; in iter_add_single_cumulative_entry()
767 iter_next_cumulative_entry(struct hist_entry_iter *iter, in iter_next_cumulative_entry() argument
776 return fill_callchain_info(al, node, iter->hide_unresolved); in iter_next_cumulative_entry()
780 iter_add_next_cumulative_entry(struct hist_entry_iter *iter, in iter_add_next_cumulative_entry() argument
783 struct perf_evsel *evsel = iter->evsel; in iter_add_next_cumulative_entry()
784 struct perf_sample *sample = iter->sample; in iter_add_next_cumulative_entry()
785 struct hist_entry **he_cache = iter->priv; in iter_add_next_cumulative_entry()
797 .parent = iter->parent, in iter_add_next_cumulative_entry()
810 for (i = 0; i < iter->curr; i++) { in iter_add_next_cumulative_entry()
813 iter->he = NULL; in iter_add_next_cumulative_entry()
818 he = __hists__add_entry(evsel__hists(evsel), al, iter->parent, NULL, NULL, in iter_add_next_cumulative_entry()
824 iter->he = he; in iter_add_next_cumulative_entry()
825 he_cache[iter->curr++] = he; in iter_add_next_cumulative_entry()
833 iter_finish_cumulative_entry(struct hist_entry_iter *iter, in iter_finish_cumulative_entry() argument
836 zfree(&iter->priv); in iter_finish_cumulative_entry()
837 iter->he = NULL; in iter_finish_cumulative_entry()
874 int hist_entry_iter__add(struct hist_entry_iter *iter, struct addr_location *al, in hist_entry_iter__add() argument
879 err = sample__resolve_callchain(iter->sample, &iter->parent, in hist_entry_iter__add()
880 iter->evsel, al, max_stack_depth); in hist_entry_iter__add()
884 iter->max_stack = max_stack_depth; in hist_entry_iter__add()
886 err = iter->ops->prepare_entry(iter, al); in hist_entry_iter__add()
890 err = iter->ops->add_single_entry(iter, al); in hist_entry_iter__add()
894 if (iter->he && iter->add_entry_cb) { in hist_entry_iter__add()
895 err = iter->add_entry_cb(iter, al, true, arg); in hist_entry_iter__add()
900 while (iter->ops->next_entry(iter, al)) { in hist_entry_iter__add()
901 err = iter->ops->add_next_entry(iter, al); in hist_entry_iter__add()
905 if (iter->he && iter->add_entry_cb) { in hist_entry_iter__add()
906 err = iter->add_entry_cb(iter, al, false, arg); in hist_entry_iter__add()
913 err2 = iter->ops->finish_entry(iter, al); in hist_entry_iter__add()
991 struct hist_entry *iter; in hists__collapse_insert_entry() local
996 iter = rb_entry(parent, struct hist_entry, rb_node_in); in hists__collapse_insert_entry()
998 cmp = hist_entry__collapse(iter, he); in hists__collapse_insert_entry()
1001 he_stat__add_stat(&iter->stat, &he->stat); in hists__collapse_insert_entry()
1003 he_stat__add_stat(iter->stat_acc, he->stat_acc); in hists__collapse_insert_entry()
1008 iter->callchain, in hists__collapse_insert_entry()
1138 struct hist_entry *iter; in __hists__insert_output_entry() local
1146 iter = rb_entry(parent, struct hist_entry, rb_node); in __hists__insert_output_entry()
1148 if (hist_entry__sort(he, iter) > 0) in __hists__insert_output_entry()
1420 struct hist_entry *iter = rb_entry(n, struct hist_entry, rb_node_in); in hists__find_entry() local
1421 int64_t cmp = hist_entry__collapse(iter, he); in hists__find_entry()
1428 return iter; in hists__find_entry()