Software: Apache/2.0.54 (Fedora). PHP/5.0.4 uname -a: Linux mina-info.me 2.6.17-1.2142_FC4smp #1 SMP Tue Jul 11 22:57:02 EDT 2006 i686 uid=48(apache) gid=48(apache) groups=48(apache) Safe-mode: OFF (not secure) /usr/share/doc/valgrind-callgrind-0.9.11/ drwxr-xr-x |
Viewing file: Select action/file-type: How Calltree works1. Differences to GProf1.1 Cost at call arcs1.2 Distinguish cost of same function in different context2. Instrumentation2.1 Callback to setup handler at beginning of each basic blockEach instrumented basic block first calls the helper function setup_bbcc(). This function has two purposes:
There can be multiple BBCCs of the same BB, depending on the options choosen for the calltree run. The following properties of the execution context of a BB can lead to different BBCCs that have to be used:
For call tracing, we use the struct JCC. These structs or stored in a hash table by using a BBCC pair: The BBCC address of the last BB where the call happened and the BBCC of the BB the call is targeted to. Because of this, the actual sequence of actions is:
2.2 Callbacks to logging handlers at memory accessesThis is almost identical to the actions of the Cachegrind skin. The only difference is that the logging helpers only get offsets to CC structs in a BBCC struct, and not an absolute pointer. This is needed to allow for multiple BBCCs for the same BB.3. Tracking the active state of functions4. Shared Libraries and PLT sections5. Signal handlers6. Multithreading |
:: Command execute :: | |
--[ c99shell v. 1.0 pre-release build #16 powered by Captain Crunch Security Team | http://ccteam.ru | Generation time: 0.003 ]-- |