Lines Matching defs:iter

806 iter_next_nop_entry(struct hist_entry_iter *iter __maybe_unused,
813 iter_add_next_nop_entry(struct hist_entry_iter *iter __maybe_unused,
820 iter_prepare_mem_entry(struct hist_entry_iter *iter, struct addr_location *al)
822 struct perf_sample *sample = iter->sample;
829 iter->priv = mi;
834 iter_add_single_mem_entry(struct hist_entry_iter *iter, struct addr_location *al)
837 struct mem_info *mi = iter->priv;
838 struct hists *hists = evsel__hists(iter->evsel);
839 struct perf_sample *sample = iter->sample;
858 he = hists__add_entry(hists, al, iter->parent, NULL, mi, NULL,
863 iter->he = he;
868 iter_finish_mem_entry(struct hist_entry_iter *iter,
871 struct evsel *evsel = iter->evsel;
873 struct hist_entry *he = iter->he;
881 err = hist_entry__append_callchain(he, iter->sample);
885 * We don't need to free iter->priv (mem_info) here since the mem info
889 iter->priv = NULL;
891 iter->he = NULL;
896 iter_prepare_branch_entry(struct hist_entry_iter *iter, struct addr_location *al)
899 struct perf_sample *sample = iter->sample;
905 iter->curr = 0;
906 iter->total = sample->branch_stack->nr;
908 iter->priv = bi;
913 iter_add_single_branch_entry(struct hist_entry_iter *iter __maybe_unused,
920 iter_next_branch_entry(struct hist_entry_iter *iter, struct addr_location *al)
922 struct branch_info *bi = iter->priv;
923 int i = iter->curr;
928 if (iter->curr >= iter->total)
941 iter_add_next_branch_entry(struct hist_entry_iter *iter, struct addr_location *al)
944 struct evsel *evsel = iter->evsel;
946 struct perf_sample *sample = iter->sample;
948 int i = iter->curr;
951 bi = iter->priv;
953 if (iter->hide_unresolved && !(bi[i].from.ms.sym && bi[i].to.ms.sym))
963 he = hists__add_entry(hists, al, iter->parent, &bi[i], NULL, NULL,
971 iter->he = he;
972 iter->curr++;
977 iter_finish_branch_entry(struct hist_entry_iter *iter,
980 zfree(&iter->priv);
981 iter->he = NULL;
983 return iter->curr >= iter->total ? 0 : -1;
987 iter_prepare_normal_entry(struct hist_entry_iter *iter __maybe_unused,
994 iter_add_single_normal_entry(struct hist_entry_iter *iter, struct addr_location *al)
996 struct evsel *evsel = iter->evsel;
997 struct perf_sample *sample = iter->sample;
1000 he = hists__add_entry(evsel__hists(evsel), al, iter->parent, NULL, NULL,
1005 iter->he = he;
1010 iter_finish_normal_entry(struct hist_entry_iter *iter,
1013 struct hist_entry *he = iter->he;
1014 struct evsel *evsel = iter->evsel;
1015 struct perf_sample *sample = iter->sample;
1020 iter->he = NULL;
1028 iter_prepare_cumulative_entry(struct hist_entry_iter *iter,
1048 iter->priv = he_cache;
1049 iter->curr = 0;
1055 iter_add_single_cumulative_entry(struct hist_entry_iter *iter,
1058 struct evsel *evsel = iter->evsel;
1060 struct perf_sample *sample = iter->sample;
1061 struct hist_entry **he_cache = iter->priv;
1065 he = hists__add_entry(hists, al, iter->parent, NULL, NULL, NULL,
1070 iter->he = he;
1071 he_cache[iter->curr++] = he;
1087 iter_next_cumulative_entry(struct hist_entry_iter *iter,
1096 return fill_callchain_info(al, node, iter->hide_unresolved);
1114 iter_add_next_cumulative_entry(struct hist_entry_iter *iter,
1117 struct evsel *evsel = iter->evsel;
1118 struct perf_sample *sample = iter->sample;
1119 struct hist_entry **he_cache = iter->priv;
1133 .parent = iter->parent,
1152 for (i = 0; i < iter->curr; i++) {
1163 iter->he = NULL;
1168 he = hists__add_entry(evsel__hists(evsel), al, iter->parent, NULL, NULL,
1173 iter->he = he;
1174 he_cache[iter->curr++] = he;
1182 iter_finish_cumulative_entry(struct hist_entry_iter *iter,
1185 zfree(&iter->priv);
1186 iter->he = NULL;
1223 int hist_entry_iter__add(struct hist_entry_iter *iter, struct addr_location *al,
1232 err = sample__resolve_callchain(iter->sample, get_tls_callchain_cursor(), &iter->parent,
1233 iter->evsel, al, max_stack_depth);
1239 err = iter->ops->prepare_entry(iter, al);
1243 err = iter->ops->add_single_entry(iter, al);
1247 if (iter->he && iter->add_entry_cb) {
1248 err = iter->add_entry_cb(iter, al, true, arg);
1253 while (iter->ops->next_entry(iter, al)) {
1254 err = iter->ops->add_next_entry(iter, al);
1258 if (iter->he && iter->add_entry_cb) {
1259 err = iter->add_entry_cb(iter, al, false, arg);
1266 err2 = iter->ops->finish_entry(iter, al);
1482 struct hist_entry *iter, *new;
1489 iter = rb_entry(parent, struct hist_entry, rb_node_in);
1493 cmp = fmt->collapse(fmt, iter, he);
1499 he_stat__add_stat(&iter->stat, &he->stat);
1500 return iter;
1604 struct hist_entry *iter;
1613 iter = rb_entry(parent, struct hist_entry, rb_node_in);
1615 cmp = hist_entry__collapse(iter, he);
1620 he_stat__add_stat(&iter->stat, &he->stat);
1622 he_stat__add_stat(iter->stat_acc, he->stat_acc);
1629 if (callchain_merge(cursor, iter->callchain, he->callchain) < 0)
1794 struct hist_entry *iter;
1800 iter = rb_entry(parent, struct hist_entry, rb_node);
1802 if (hist_entry__sort(he, iter) > 0)
1881 struct hist_entry *iter;
1900 iter = rb_entry(parent, struct hist_entry, rb_node);
1902 if (hist_entry__sort(he, iter) > 0)
2204 struct hist_entry *iter;
2211 iter = rb_entry(parent, struct hist_entry, rb_node);
2213 if (hist_entry__sort(he, iter) > 0)
2482 struct hist_entry *iter = rb_entry(n, struct hist_entry, rb_node_in);
2483 int64_t cmp = hist_entry__collapse(iter, he);
2490 return iter;
2502 struct hist_entry *iter;
2506 iter = rb_entry(n, struct hist_entry, rb_node_in);
2508 cmp = fmt->collapse(fmt, iter, he);
2518 return iter;