Lines Matching refs:iter
786 iter_next_nop_entry(struct hist_entry_iter *iter __maybe_unused,
793 iter_add_next_nop_entry(struct hist_entry_iter *iter __maybe_unused,
800 iter_prepare_mem_entry(struct hist_entry_iter *iter, struct addr_location *al)
802 struct perf_sample *sample = iter->sample;
809 iter->priv = mi;
814 iter_add_single_mem_entry(struct hist_entry_iter *iter, struct addr_location *al)
817 struct mem_info *mi = iter->priv;
818 struct hists *hists = evsel__hists(iter->evsel);
819 struct perf_sample *sample = iter->sample;
838 he = hists__add_entry(hists, al, iter->parent, NULL, mi,
843 iter->he = he;
848 iter_finish_mem_entry(struct hist_entry_iter *iter,
851 struct evsel *evsel = iter->evsel;
853 struct hist_entry *he = iter->he;
861 err = hist_entry__append_callchain(he, iter->sample);
865 * We don't need to free iter->priv (mem_info) here since the mem info
869 iter->priv = NULL;
871 iter->he = NULL;
876 iter_prepare_branch_entry(struct hist_entry_iter *iter, struct addr_location *al)
879 struct perf_sample *sample = iter->sample;
885 iter->curr = 0;
886 iter->total = sample->branch_stack->nr;
888 iter->priv = bi;
893 iter_add_single_branch_entry(struct hist_entry_iter *iter __maybe_unused,
900 iter_next_branch_entry(struct hist_entry_iter *iter, struct addr_location *al)
902 struct branch_info *bi = iter->priv;
903 int i = iter->curr;
908 if (iter->curr >= iter->total)
919 iter_add_next_branch_entry(struct hist_entry_iter *iter, struct addr_location *al)
922 struct evsel *evsel = iter->evsel;
924 struct perf_sample *sample = iter->sample;
926 int i = iter->curr;
929 bi = iter->priv;
931 if (iter->hide_unresolved && !(bi[i].from.ms.sym && bi[i].to.ms.sym))
941 he = hists__add_entry(hists, al, iter->parent, &bi[i], NULL,
949 iter->he = he;
950 iter->curr++;
955 iter_finish_branch_entry(struct hist_entry_iter *iter,
958 zfree(&iter->priv);
959 iter->he = NULL;
961 return iter->curr >= iter->total ? 0 : -1;
965 iter_prepare_normal_entry(struct hist_entry_iter *iter __maybe_unused,
972 iter_add_single_normal_entry(struct hist_entry_iter *iter, struct addr_location *al)
974 struct evsel *evsel = iter->evsel;
975 struct perf_sample *sample = iter->sample;
978 he = hists__add_entry(evsel__hists(evsel), al, iter->parent, NULL, NULL,
983 iter->he = he;
988 iter_finish_normal_entry(struct hist_entry_iter *iter,
991 struct hist_entry *he = iter->he;
992 struct evsel *evsel = iter->evsel;
993 struct perf_sample *sample = iter->sample;
998 iter->he = NULL;
1006 iter_prepare_cumulative_entry(struct hist_entry_iter *iter,
1022 iter->priv = he_cache;
1023 iter->curr = 0;
1029 iter_add_single_cumulative_entry(struct hist_entry_iter *iter,
1032 struct evsel *evsel = iter->evsel;
1034 struct perf_sample *sample = iter->sample;
1035 struct hist_entry **he_cache = iter->priv;
1039 he = hists__add_entry(hists, al, iter->parent, NULL, NULL,
1044 iter->he = he;
1045 he_cache[iter->curr++] = he;
1061 iter_next_cumulative_entry(struct hist_entry_iter *iter,
1070 return fill_callchain_info(al, node, iter->hide_unresolved);
1088 iter_add_next_cumulative_entry(struct hist_entry_iter *iter,
1091 struct evsel *evsel = iter->evsel;
1092 struct perf_sample *sample = iter->sample;
1093 struct hist_entry **he_cache = iter->priv;
1107 .parent = iter->parent,
1123 for (i = 0; i < iter->curr; i++) {
1134 iter->he = NULL;
1139 he = hists__add_entry(evsel__hists(evsel), al, iter->parent, NULL, NULL,
1144 iter->he = he;
1145 he_cache[iter->curr++] = he;
1153 iter_finish_cumulative_entry(struct hist_entry_iter *iter,
1156 zfree(&iter->priv);
1157 iter->he = NULL;
1194 int hist_entry_iter__add(struct hist_entry_iter *iter, struct addr_location *al,
1203 err = sample__resolve_callchain(iter->sample, &callchain_cursor, &iter->parent,
1204 iter->evsel, al, max_stack_depth);
1210 err = iter->ops->prepare_entry(iter, al);
1214 err = iter->ops->add_single_entry(iter, al);
1218 if (iter->he && iter->add_entry_cb) {
1219 err = iter->add_entry_cb(iter, al, true, arg);
1224 while (iter->ops->next_entry(iter, al)) {
1225 err = iter->ops->add_next_entry(iter, al);
1229 if (iter->he && iter->add_entry_cb) {
1230 err = iter->add_entry_cb(iter, al, false, arg);
1237 err2 = iter->ops->finish_entry(iter, al);
1449 struct hist_entry *iter, *new;
1456 iter = rb_entry(parent, struct hist_entry, rb_node_in);
1460 cmp = fmt->collapse(fmt, iter, he);
1466 he_stat__add_stat(&iter->stat, &he->stat);
1467 return iter;
1566 struct hist_entry *iter;
1575 iter = rb_entry(parent, struct hist_entry, rb_node_in);
1577 cmp = hist_entry__collapse(iter, he);
1582 he_stat__add_stat(&iter->stat, &he->stat);
1584 he_stat__add_stat(iter->stat_acc, he->stat_acc);
1589 iter->callchain,
1752 struct hist_entry *iter;
1758 iter = rb_entry(parent, struct hist_entry, rb_node);
1760 if (hist_entry__sort(he, iter) > 0)
1839 struct hist_entry *iter;
1858 iter = rb_entry(parent, struct hist_entry, rb_node);
1860 if (hist_entry__sort(he, iter) > 0)
2162 struct hist_entry *iter;
2169 iter = rb_entry(parent, struct hist_entry, rb_node);
2171 if (hist_entry__sort(he, iter) > 0)
2430 struct hist_entry *iter = rb_entry(n, struct hist_entry, rb_node_in);
2431 int64_t cmp = hist_entry__collapse(iter, he);
2438 return iter;
2450 struct hist_entry *iter;
2454 iter = rb_entry(n, struct hist_entry, rb_node_in);
2456 cmp = fmt->collapse(fmt, iter, he);
2466 return iter;