On Wed, Feb 10, 2016 at 01:52:08PM +0100, Jiri Olsa wrote:
> On Fri, Feb 05, 2016 at 10:01:48PM +0900, Namhyung Kim wrote:
> 
> SNIP
> 
> > +static int hierarchy_count_rows(struct hist_browser *hb, struct hist_entry 
> > *he,
> > +                           bool include_children)
> > +{
> > +   int count = 0;
> > +   struct rb_node *node;
> > +   struct hist_entry *child;
> > +
> > +   if (he->leaf)
> > +           return callchain__count_rows(&he->sorted_chain);
> > +
> > +   node = rb_first(&he->hroot_out);
> > +   while (node) {
> > +           float percent;
> > +
> > +           child = rb_entry(node, struct hist_entry, rb_node);
> > +           percent = hist_entry__get_percent_limit(child);
> > +
> > +           if (!child->filtered && percent >= hb->min_pcnt) {
> > +                   count++;
> > +
> > +                   if (include_children && child->unfolded)
> > +                           count += hierarchy_count_rows(hb, child, true);
> > +           }
> > +
> > +           node = rb_next(node);
> > +   }
> > +   return count;
> > +}
> 
> SNIP
> 
> > +           if (he->leaf)
> > +                   browser->nr_callchain_rows -= he->nr_rows;
> >             else
> > +                   browser->nr_hierarchy_entries -= he->nr_rows;
> > +
> > +           if (symbol_conf.report_hierarchy)
> > +                   child_rows = hierarchy_count_rows(browser, he, true);
> > +
> > +           if (he->unfolded) {
> > +                   if (he->leaf)
> > +                           he->nr_rows = 
> > callchain__count_rows(&he->sorted_chain);
> > +                   else
> > +                           he->nr_rows = hierarchy_count_rows(browser, he, 
> > false);
> 
> looks like above condition could go to just following call:
> 
>                       he->nr_rows = hierarchy_count_rows(browser, he, false);
> 
> because there's same condtiion in the hierarchy_count_rows function

That's true.  But I wrote it that way since it's aligned with other
part of the code.

Thanks,
Namhyung

Reply via email to