libsysprof: track which nodes are toplevel

We used to do this, and now we have space for it here as we added the
categorization field.
This commit is contained in:
Christian Hergert
2023-07-20 16:03:37 -07:00
parent dfa893f06a
commit 79c49fca02
3 changed files with 6 additions and 1 deletions

View File

@ -47,7 +47,8 @@ struct _SysprofCallgraphNode
SysprofCallgraphNode *children;
SysprofCallgraphSummary *summary;
gpointer augment[2];
SysprofCallgraphCategory category;
SysprofCallgraphCategory category : 7;
SysprofCallgraphCategory is_toplevel : 7;
};
struct _SysprofCallgraph

View File

@ -191,6 +191,8 @@ sysprof_callgraph_populate_callers (SysprofCallgraph *self,
g_assert (SYSPROF_IS_CALLGRAPH (self));
g_assert (node != NULL);
node->is_toplevel = TRUE;
for (const SysprofCallgraphNode *iter = node;
iter != NULL;
iter = iter->parent)

View File

@ -210,6 +210,8 @@ sysprof_descendants_model_add_traceable (SysprofDescendantsModel *self,
node = sysprof_descendants_model_add_trace (self, symbols, n_symbols);
node->is_toplevel = TRUE;
if (node && self->callgraph->augment_func)
self->callgraph->augment_func (self->callgraph,
node,