|
@@ -323,13 +323,20 @@ static void hists__baseline_only(struct hists *hists)
|
|
|
|
|
|
static void hists__precompute(struct hists *hists)
|
|
|
{
|
|
|
- struct rb_node *next = rb_first(&hists->entries);
|
|
|
+ struct rb_root *root;
|
|
|
+ struct rb_node *next;
|
|
|
+
|
|
|
+ if (sort__need_collapse)
|
|
|
+ root = &hists->entries_collapsed;
|
|
|
+ else
|
|
|
+ root = hists->entries_in;
|
|
|
|
|
|
+ next = rb_first(root);
|
|
|
while (next != NULL) {
|
|
|
- struct hist_entry *he = rb_entry(next, struct hist_entry, rb_node);
|
|
|
+ struct hist_entry *he = rb_entry(next, struct hist_entry, rb_node_in);
|
|
|
struct hist_entry *pair = hist_entry__next_pair(he);
|
|
|
|
|
|
- next = rb_next(&he->rb_node);
|
|
|
+ next = rb_next(&he->rb_node_in);
|
|
|
if (!pair)
|
|
|
continue;
|
|
|
|