|Non-Confidential||PDF version||ARM DUI0482M|
|Home > The Call Graph view > How the Call Graph view hierarchy is built|
The hierarchy of functions, as presented in the Call Graph view, is built based on the call chains sampled during execution. An understanding of how Streamline displays this hierarchy helps you to maximize the utility of the view.
The originating function is placed in the far left column and functions it calls are placed in the column to its right. Functions that these functions call are placed in a column to the right of that and so on down the line, until all of the functions have been placed. There is a caveat to this placing behavior. If a function is called at multiple levels of the hierarchy, it is placed as far left as possible in the Call Graph view.
To illustrate, if the function main calls function a which in turn calls function b, it looks like this:
Figure 9-2 A simple hierarchy
If, in addition to function a, main also calls function b, function b is put in a higher place in the hierarchy, nearer to main, it might look like this:
Figure 9-3 Call Hierarchy with Multiple Calls
The Call Graph view presents a simple call hierarchy, but real-world algorithms describe hierarchies far more complex than those shown in the figures. Rather than present the Call Graph view with all of these connections visually represented as a spider web of call arrows, the Call Graph view uses a simple method to determine whether or not to draw a call line.