History log of /external/valgrind/cachegrind/cg_annotate.in
Revision Date Author Comments (<<< Hide modified files) (Show modified files >>>)
06766bdbcfe770592c0c91353cfa9e8f4d1ee4e6 23-Jun-2014 florian <florian@a5019735-40e9-0310-863c-91ae7b9d1cf9> Update the copyright notice in files ending in '.in' because the
script change-copyright-year did not handle them.
Update the script as well.


git-svn-id: svn://svn.valgrind.org/valgrind/trunk@14087 a5019735-40e9-0310-863c-91ae7b9d1cf9
/external/valgrind/cachegrind/cg_annotate.in
69d495de9c26f1b99c9af8b2d366a09f23b47b76 30-Jun-2010 njn <njn@a5019735-40e9-0310-863c-91ae7b9d1cf9> Added cg_diff.



git-svn-id: svn://svn.valgrind.org/valgrind/trunk@11193 a5019735-40e9-0310-863c-91ae7b9d1cf9
/external/valgrind/cachegrind/cg_annotate.in
1e0fe3ab738d721916f17db7dc0778a60e8bfbc2 22-Jun-2010 njn <njn@a5019735-40e9-0310-863c-91ae7b9d1cf9> Fix bug in the previous commit.



git-svn-id: svn://svn.valgrind.org/valgrind/trunk@11185 a5019735-40e9-0310-863c-91ae7b9d1cf9
/external/valgrind/cachegrind/cg_annotate.in
93d1f17702fd595371c8cdf4a5e2bc1161535ef9 22-Jun-2010 njn <njn@a5019735-40e9-0310-863c-91ae7b9d1cf9> Allow negative numbers in the cachegrind.out.* file. Also protect against
division-by-zero. Both are required for cg_diff (not yet committed) to work
properly.



git-svn-id: svn://svn.valgrind.org/valgrind/trunk@11184 a5019735-40e9-0310-863c-91ae7b9d1cf9
/external/valgrind/cachegrind/cg_annotate.in
a602792e053149ba35f1a76e854d222b244f7ca8 22-Jun-2010 njn <njn@a5019735-40e9-0310-863c-91ae7b9d1cf9> Make better use of references, allowing data structure updates to be more
localised.



git-svn-id: svn://svn.valgrind.org/valgrind/trunk@11183 a5019735-40e9-0310-863c-91ae7b9d1cf9
/external/valgrind/cachegrind/cg_annotate.in
ab773b01aac4201b41232376daf4c89d763775bd 10-Aug-2009 njn <njn@a5019735-40e9-0310-863c-91ae7b9d1cf9> Make usage messages given by -h and man pages consistent for the scripts.



git-svn-id: svn://svn.valgrind.org/valgrind/trunk@10756 a5019735-40e9-0310-863c-91ae7b9d1cf9
/external/valgrind/cachegrind/cg_annotate.in
3da819679b958ad50409c9206481840c2442c3ff 07-Aug-2009 njn <njn@a5019735-40e9-0310-863c-91ae7b9d1cf9> Thoroughly overhauled the Cachegrind manual chapter, mostly by putting
things in a more sensible order. Also tweaked the Massif chapter a bit
more.



git-svn-id: svn://svn.valgrind.org/valgrind/trunk@10730 a5019735-40e9-0310-863c-91ae7b9d1cf9
/external/valgrind/cachegrind/cg_annotate.in
374a36dbfb6d08ed8d77c31a88e198a861ffadf0 23-Nov-2007 njn <njn@a5019735-40e9-0310-863c-91ae7b9d1cf9> Fixed up the log file mess throughout, including the docs. This killed
--log-file-qualifier and --log-file-exactly.

Updated NEWS some in preparation for 3.3.0.



git-svn-id: svn://svn.valgrind.org/valgrind/trunk@7202 a5019735-40e9-0310-863c-91ae7b9d1cf9
/external/valgrind/cachegrind/cg_annotate.in
61e11d07831d802030821cd3f25a2a7bcdac0928 18-Sep-2007 njn <njn@a5019735-40e9-0310-863c-91ae7b9d1cf9> minor tweak



git-svn-id: svn://svn.valgrind.org/valgrind/trunk@6851 a5019735-40e9-0310-863c-91ae7b9d1cf9
/external/valgrind/cachegrind/cg_annotate.in
f3b61d6527aa24d2bd5e8f74be7dd40b26b1fe1f 17-Sep-2007 njn <njn@a5019735-40e9-0310-863c-91ae7b9d1cf9> Add directory-reading of debug info to cachegrind.



git-svn-id: svn://svn.valgrind.org/valgrind/trunk@6839 a5019735-40e9-0310-863c-91ae7b9d1cf9
/external/valgrind/cachegrind/cg_annotate.in
8693e01a5f4687187a98bc0c46ea68f864b1d621 08-Feb-2007 sewardj <sewardj@a5019735-40e9-0310-863c-91ae7b9d1cf9> Add a new flag --cachegrind-log-file to cg_annotate, which tells it
precisely the name of the profile data file it should use (instead of
assuming cachegrind.out.<pid> where <pid> is specified by the --<pid>
flag). The old mechanism is still supported though.



git-svn-id: svn://svn.valgrind.org/valgrind/trunk@6573 a5019735-40e9-0310-863c-91ae7b9d1cf9
/external/valgrind/cachegrind/cg_annotate.in
534f7814eee61f8ad2e36a733e36d58d59a574f8 22-Oct-2006 njn <njn@a5019735-40e9-0310-863c-91ae7b9d1cf9> Removed the file format description from cg_annotate.in, because it's in the
Cachegrind docs.

Removed the Cachegrind tech docs, because they're so out of date to be
useless. My PhD dissertation gives a much better description of how
Cachegrind works. (I mentioned this in the Cachegrind user manual.) The
only still-useful part of Cachegrind's tech docs, the output file format
description, I moved into the Cachegrind user manual.


git-svn-id: svn://svn.valgrind.org/valgrind/trunk@6332 a5019735-40e9-0310-863c-91ae7b9d1cf9
/external/valgrind/cachegrind/cg_annotate.in
dac0cdac0f7155750b93e8c95aab98d97e17a7b2 21-Oct-2006 njn <njn@a5019735-40e9-0310-863c-91ae7b9d1cf9> - Update comments about Cachegrind file format.
- Be slightly more strict in accepting Cachegrind input files.


git-svn-id: svn://svn.valgrind.org/valgrind/trunk@6330 a5019735-40e9-0310-863c-91ae7b9d1cf9
/external/valgrind/cachegrind/cg_annotate.in
78cce3fe9136d0ff41b9a38e99df81c6eddd2579 22-Dec-2005 njn <njn@a5019735-40e9-0310-863c-91ae7b9d1cf9> Add the name of the input file to cg_annotate's output.



git-svn-id: svn://svn.valgrind.org/valgrind/trunk@5401 a5019735-40e9-0310-863c-91ae7b9d1cf9
/external/valgrind/cachegrind/cg_annotate.in
920050d2479666a4c41910b22d05be53c3434c78 21-Dec-2005 njn <njn@a5019735-40e9-0310-863c-91ae7b9d1cf9> Fixed cg_annotate bug -- when using the --sort option the primary threshold
was set to zero and so no annotation was done.

Also put the file format into this file, and some other tiny changes.



git-svn-id: svn://svn.valgrind.org/valgrind/trunk@5396 a5019735-40e9-0310-863c-91ae7b9d1cf9
/external/valgrind/cachegrind/cg_annotate.in
45f4e7c91119c7d01a59f5e827c67841632c9314 27-Sep-2005 sewardj <sewardj@a5019735-40e9-0310-863c-91ae7b9d1cf9> This commit merges in changes from branches/ASPACEM (specifically,
changes from r4341 through r4787 inclusive). That branch is now dead.
Please do not commit anything else to it.

For the most part the merge was not troublesome. The main areas of
uncertainty are:

- build system: I had to import by hand Makefile.core-AM_CPPFLAGS.am
and include it in a couple of places. Building etc seems to still
work, but I haven't tried building the documentation.

- syscall wrappers: Following analysis by Greg & Nick, a whole lot of
stuff was moved from -generic to -linux after the branch was created.
I think that is satisfactorily glued back together now.

- Regtests: although this appears to work, no .out files appear, which
is strange, and makes it hard to diagnose regtest failures. In
particular memcheck/tests/x86/scalar.stderr.exp remains in a
conflicted state.

- amd64 is broken (slightly), and ppc32 will be unbuildable. I'll
attend to the former shortly.



git-svn-id: svn://svn.valgrind.org/valgrind/trunk@4789 a5019735-40e9-0310-863c-91ae7b9d1cf9
/external/valgrind/cachegrind/cg_annotate.in
bd77403dc7f5c34d994f490b50ce7461c2edcea7 04-Aug-2005 njn <njn@a5019735-40e9-0310-863c-91ae7b9d1cf9> Replace out-of-date email address.



git-svn-id: svn://svn.valgrind.org/valgrind/trunk@4322 a5019735-40e9-0310-863c-91ae7b9d1cf9
/external/valgrind/cachegrind/cg_annotate.in
2bc10126a94b421a490b2759dc50ab67ec4ee116 08-May-2005 njn <njn@a5019735-40e9-0310-863c-91ae7b9d1cf9> A crucial, crucial change: update my email address.



git-svn-id: svn://svn.valgrind.org/valgrind/trunk@3632 a5019735-40e9-0310-863c-91ae7b9d1cf9
/external/valgrind/cachegrind/cg_annotate.in
5361242f022b38fadb4cdf02428cea8b8d901a90 12-Mar-2005 njn <njn@a5019735-40e9-0310-863c-91ae7b9d1cf9> Update copyright notice for 2005 on all relevant files. Don't bother trying
to be selective about it.



git-svn-id: svn://svn.valgrind.org/valgrind/trunk@3303 a5019735-40e9-0310-863c-91ae7b9d1cf9
/external/valgrind/cachegrind/cg_annotate.in
9313ac4501443976bc792928b6100e98b556bc3b 06-Jul-2004 nethercote <nethercote@a5019735-40e9-0310-863c-91ae7b9d1cf9> Completely overhauled Cachegrind's data structures. With the new
scheme, there are two main structures:

1. The CC table holds a cost centre (CC) for every distinct source code
line, as found using debug/symbol info. It's arranged by files, then
functions, then lines.

2. The instr-info-table holds certain important pieces of info about
each instruction -- instr_addr, instr_size, data_size, its line-CC.
A pointer to the instr's info is passed to the simulation functions,
which is shorter and quicker than passing the pieces individually.

This is nice and simple. Previously, there was a single data structure
(the BBCC table) which mingled the two purposes (maintaining CCs and
caching instruction info). The CC stuff was done at the level of
instructions, and there were different CC types for different kinds of
instructions, and it was pretty yucky. The two simple data structures
together are much less complex than the original single data structure.

As a result, we have the following general improvements:

- Previously, when code was unloaded all its hit/miss counts were stuck
in a single "discard" CC, and so that code would not be annotated. Now
this code is profiled and annotatable just like all other code.

- Source code size is 27% smaller. cg_main.c is now 1472 lines, down
from 2174. Some (1/3?) of this is from removing the special handling
of JIFZ and general compaction, but most is from the data structure
changes. Happily, a lot of the removed code was nasty.

- Object code size (vgskin_cachegrind.so) is 15% smaller.

- cachegrind.out.pid size is about 90+% smaller(!) Annotation time is
accordingly *much* faster. Doing cost-centres at the level of source
code lines rather than instructions makes a big difference, since
there's typically 2--3 instructions per source line. Even better,
when debug info is not present, entire functions (and even files) get
collapsed into a single "???" CC. (This behaviour is no different
to what happened before, it's just the collapsing used to occur in the
annotation script, rather than within Cachegrind.) This is a huge win
for stripped libraries.

- Memory consumption is about 10--20% less, due to fewer CCs.

- Speed is not much changed -- the changes were not in the intensive
parts, so the only likely change is a cache improvement due to using
less memory. SPEC experiments go -3 -- 10% faster, with the "average"
being unchanged or perhaps a tiny bit faster.

I've tested it reasonably thoroughly, it seems extremely similar result
as the old version, which is highly encouraging. (The results aren't
quite the same, because they are so sensitive to memory layout; even
tiny changes to Cachegrind affect the results slightly.)

Some particularly nice changes that happened:

- No longer need an instrumentation prepass; this is because CCs are not
stored grouped by BB, and they're all the same size now. (This makes
various bits of code much simpler than before).

- The actions to take when a BB translation is discarded (due to the
translation table getting full) are much easier -- just chuck all the
instr-info nodes for the BB, without touching the CCs.

- Dumping the cachegrind.out.pid file at the end is much simpler, just
because the CC data structure is much neater.

Some other, specific changes:

- Removed the JIFZ special handling, which never did what it was
intended to do and just complicated things. This changes the results
for REP-prefixed instructions very slightly, but it's not important.

- Abbreviated the FP/MMX/SSE crap by being slightly laxer with size
checking -- not an issue, since this checking was just a pale
imitation of the stricter checking done in codegen anyway.

- Removed "fi" and "fe" handling from cg_annotate, no longer needed due
to neatening of the CC-table.

- Factorised out some code a bit, so fewer monolithic slabs,
particularly in SK_(instrument)().

- Just improved formatting and compacted code in general in various
places.

- Removed the long-commented-out sanity checking code at the bottom.

Phew.


git-svn-id: svn://svn.valgrind.org/valgrind/trunk@2458 a5019735-40e9-0310-863c-91ae7b9d1cf9
/external/valgrind/cachegrind/cg_annotate.in
bb1c99123c95fb9a4a2617d6e1d09559ac68db80 04-Jan-2004 nethercote <nethercote@a5019735-40e9-0310-863c-91ae7b9d1cf9> Updated copyright dates for 2004. Also added a couple of missing headers and
footers to some new files.


git-svn-id: svn://svn.valgrind.org/valgrind/trunk@2177 a5019735-40e9-0310-863c-91ae7b9d1cf9
/external/valgrind/cachegrind/cg_annotate.in
137bc55f216bc7d9528f159a78cdf9025e0b02ff 14-Nov-2003 nethercote <nethercote@a5019735-40e9-0310-863c-91ae7b9d1cf9> Started to rescind the name "skin", replacing it with "tool". Did this in all
the places that normal users will see:

- command line: --tool=foo (although --skin=foo still works)
- docs: removed all traces (included renaming coregrind_skins.html to
coregrind_tools.html)
- in the usage messages
- in error messages

Also did in in some places that I judged were unlikely to cause clashes with
existing workspaces:

- in the header comments of many files (eg. "This file is part of Memcheck, a
Valgrind tool for...")
- in the regtests script
- in the .supp files
- in AUTHORS
- in README_MISSING_SYSCALL_OR_IOCTL

Also update the AUTHORS file to mention Jeremy.


git-svn-id: svn://svn.valgrind.org/valgrind/trunk@2027 a5019735-40e9-0310-863c-91ae7b9d1cf9
/external/valgrind/cachegrind/cg_annotate.in
01f192e7356a44dc6f2176caecd11a4698857f63 04-Jul-2003 njn <njn@a5019735-40e9-0310-863c-91ae7b9d1cf9> Operator change. No difference in behaviour, but avoids a warning with Perl
5.8.0.


git-svn-id: svn://svn.valgrind.org/valgrind/trunk@1713 a5019735-40e9-0310-863c-91ae7b9d1cf9
/external/valgrind/cachegrind/cg_annotate.in
c68dfbbc5e8a5c7d772e41d6548bdf40c089e6e9 29-Apr-2003 njn <njn@a5019735-40e9-0310-863c-91ae7b9d1cf9> Couple of minor fixes:
- don't keel over if run on an empty file
- abort if the "summary:" line is missing; previously it gave a warning
and tried to keep going but then other things broke.


git-svn-id: svn://svn.valgrind.org/valgrind/trunk@1572 a5019735-40e9-0310-863c-91ae7b9d1cf9
/external/valgrind/cachegrind/cg_annotate.in
0e1b514ab8e837f75a207a037ea53a6a721e9d28 15-Apr-2003 njn <njn@a5019735-40e9-0310-863c-91ae7b9d1cf9> Updated copyright notices for 2003. Only 4 months late.


git-svn-id: svn://svn.valgrind.org/valgrind/trunk@1526 a5019735-40e9-0310-863c-91ae7b9d1cf9
/external/valgrind/cachegrind/cg_annotate.in
2f68595ed11429b7eed8a07871a2d5842e1ed5f4 22-Dec-2002 sewardj <sewardj@a5019735-40e9-0310-863c-91ae7b9d1cf9> Don't assume Perl lives in /usr/bin; do a proper test for it.


git-svn-id: svn://svn.valgrind.org/valgrind/trunk@1389 a5019735-40e9-0310-863c-91ae7b9d1cf9
/external/valgrind/cachegrind/cg_annotate.in
4eef8d3e7a26eee39879907bf35cefe2a702c1df 14-Nov-2002 njn <njn@a5019735-40e9-0310-863c-91ae7b9d1cf9> Changed some out-of-date instances of "vg_annotate" into "cg_annotate".


git-svn-id: svn://svn.valgrind.org/valgrind/trunk@1316 a5019735-40e9-0310-863c-91ae7b9d1cf9
/external/valgrind/cachegrind/cg_annotate.in
c953984b8ee34ac55830b9871138b409d9d9476c 02-Oct-2002 njn <njn@a5019735-40e9-0310-863c-91ae7b9d1cf9> Updated file descriptions in the copyright notices to reflect the core/skin
split. Each skin now has its own two-line description.


git-svn-id: svn://svn.valgrind.org/valgrind/trunk@1166 a5019735-40e9-0310-863c-91ae7b9d1cf9
/external/valgrind/cachegrind/cg_annotate.in
e49d8e7dfd3a9c96feb9935b5920973dfc0b170a 23-Sep-2002 njn25 <njn25@a5019735-40e9-0310-863c-91ae7b9d1cf9> Files updated, added and removed in order to turn the ERASER branch into HEAD


git-svn-id: svn://svn.valgrind.org/valgrind/trunk@1086 a5019735-40e9-0310-863c-91ae7b9d1cf9
/external/valgrind/cachegrind/cg_annotate.in
9b3366a1a6a54a59a5deba5f70b7f850b5c02737 10-Jun-2002 njn <njn@a5019735-40e9-0310-863c-91ae7b9d1cf9> vg_annotate.in:
- fixed a bug that was breaking the --threshold option.

vg_cachesim.c:
- fixed a bug that meant instructions that didn't have a line number in the
debug info were being written in cachegrind.out with whatever was the
last known line number. Now using 0.


git-svn-id: svn://svn.valgrind.org/valgrind/trunk@403 a5019735-40e9-0310-863c-91ae7b9d1cf9
/external/valgrind/cachegrind/cg_annotate.in
7cf0bd3f98c4140abadc3ecc58f03895ae08efa5 08-Jun-2002 njn <njn@a5019735-40e9-0310-863c-91ae7b9d1cf9> Removed the need for the user to generate a cache simulation -- now do
automatic cache configuration detection using the CPUID instruction.
This can be overridden from the command-line if necessary.

vg_include.h:
- added the cache_t type and UNDEFINED_CACHE macro

- added command line args (of type cache_t) allowing manual override of
I1/D1/L2 configuration

- added log2(), which is generally useful

vg_main.c, valgrind.in, cachegrind.in:
- added handling of the new --{I1,D1,L2}=<size>,<assoc>,<line_size>
options

vg_cachesim.c:
- lots of stuff for auto-detecting cache configuration with CPUID.
Only handles Intel and AMD chips at the moment, and possibly not all of
them. Falls back onto defaults if anything goes wrong, and the configs
can be manually overridden from the command line anyway.

- now not printing cache summary stats if verbosity == 0. Still writing
cachegrind.out, though.

vg_cachesim_gen.c:
- new file containing stuff shared by the I1/D1/L2 simulations

vg_cachesim_{I1,D1,L2}:
- removed most of it; each now just calls a macro defined in
vg_cachesim_gen.c

vg_cachegen:
- has been cvs removed as it is no longer needed.

Makefile.am:
- added vg_cachesim_gen.c

- removed vg_cachegen

configure.in:
- removed vg_cachegen


git-svn-id: svn://svn.valgrind.org/valgrind/trunk@400 a5019735-40e9-0310-863c-91ae7b9d1cf9
/external/valgrind/cachegrind/cg_annotate.in
3c23d434e811d997f4210a07400d2c81b4ab4184 02-Jun-2002 sewardj <sewardj@a5019735-40e9-0310-863c-91ae7b9d1cf9> Update author attributions.


git-svn-id: svn://svn.valgrind.org/valgrind/trunk@350 a5019735-40e9-0310-863c-91ae7b9d1cf9
/external/valgrind/cachegrind/cg_annotate.in
b94e77a2ed7338727e241972dead3fc1d06a6e86 15-May-2002 njn <njn@a5019735-40e9-0310-863c-91ae7b9d1cf9> Fix incredibly stupid bug.


git-svn-id: svn://svn.valgrind.org/valgrind/trunk@270 a5019735-40e9-0310-863c-91ae7b9d1cf9
/external/valgrind/cachegrind/cg_annotate.in
bff88769e202d503681e5f6cec1e93ca2d24e938 13-May-2002 njn <njn@a5019735-40e9-0310-863c-91ae7b9d1cf9> Expanded --sort option to take threshold args with the event names. Lets you
do things like "show functions covering 99% of all D2mr events *and* 99% of all
D2mw events" - before you could only choose the threshold for one.

Useful for me, but probably no-one else. Still mentioned it in the docs,
though.


git-svn-id: svn://svn.valgrind.org/valgrind/trunk@269 a5019735-40e9-0310-863c-91ae7b9d1cf9
/external/valgrind/cachegrind/cg_annotate.in
75b30a91480764135058e7f70d4bdbbe0a32d1db 03-May-2002 njn <njn@a5019735-40e9-0310-863c-91ae7b9d1cf9> Removed description of cachegrind.out file format, since it's now in the tech
docs.


git-svn-id: svn://svn.valgrind.org/valgrind/trunk@199 a5019735-40e9-0310-863c-91ae7b9d1cf9
/external/valgrind/cachegrind/cg_annotate.in
d722c20de24326e0634996be89e9af98688c00cd 01-May-2002 daywalker <daywalker@a5019735-40e9-0310-863c-91ae7b9d1cf9> fix for auto-annotating C++ method names (they have :'s in it)


git-svn-id: svn://svn.valgrind.org/valgrind/trunk@191 a5019735-40e9-0310-863c-91ae7b9d1cf9
/external/valgrind/cachegrind/cg_annotate.in
602392b1f2902bda01bfc185c67b77aa700ec61a 30-Apr-2002 njn <njn@a5019735-40e9-0310-863c-91ae7b9d1cf9> Right-justifying event names instead of left-justifying; easier to read when
large numbers are involved and the columns are wide.


git-svn-id: svn://svn.valgrind.org/valgrind/trunk@174 a5019735-40e9-0310-863c-91ae7b9d1cf9
/external/valgrind/cachegrind/cg_annotate.in
aa6feccbe4ff707eceb21a79eafda247e08e5f46 29-Apr-2002 sewardj <sewardj@a5019735-40e9-0310-863c-91ae7b9d1cf9> Config/build/install vg_annotate and vg_cachegen correctly.


git-svn-id: svn://svn.valgrind.org/valgrind/trunk@169 a5019735-40e9-0310-863c-91ae7b9d1cf9
/external/valgrind/cachegrind/cg_annotate.in
4f9c93451bfd464ec0500c284b9d136ffdee8959 29-Apr-2002 njn <njn@a5019735-40e9-0310-863c-91ae7b9d1cf9> New files:
- vg_cachesim.c
- vg_cachesim_{I1,D1,L2}.c
- vg_annotate.in
- vg_cachegen.in

Changes to existing files:

- valgrind/valgrind.in, added option:

--cachesim=no|yes [no]

- Makefile/Makefile.am:
* added vg_cachesim.c to valgrind_so_SOURCES var
* added vg_cachesim_I1.c, vg_cachesim_D1.c, vg_cachesim_L2.c to
noinst_HEADERS var
* added vg_annotate, vg_cachegen to 'bin_SCRIPTS' var, and added empty
targets for them

- vg_main.c:
* added two offsets for cache sim functions (put in positions 17a,17b)
* added option handling (detection of --cachesim=yes which turns off of
--instrument);
* added calls to cachesim initialisation/finalisation functions

- vg_mylibc: added some system call wrappers (for chmod, open_write, etc) for
file writing

- vg_symtab2.c:
* allow it to read symbols if either of --instrument or --cachesim is
used
* made vg_symtab2.c:vg_what_{line,fn}_is_this extern, renaming it as
VG_(what_line_is_this) (and added to vg_include.h)
* completely rewrote the read loop in vg_read_lib_symbols, fixing
several bugs. Much better now, although probably not perfect. It's
also relatively fragile -- I'm using the "die immediately if anything
unexpected happens" approach.

- vg_to_ucode.c:
* in VG_(disBB), patching in x86 instruction size into extra4b field of
JMP instructions at the end of basic blocks if --cachesim=yes.
Shifted things around to do this; also had to fiddle around with
single-step stuff to get this to work, by not sticking extra JMPs on
the end of the single-instruction block if there was already one
there (to avoid breaking an assertion in vg_cachesim.c). Did a
similar thing to avoid an extra JMP on huge basic blocks that are
split.

- vg_translate.c:
* if --cachesim=yes call the cachesim instrumentation phase
* made some functions extern and renamed:
allocCodeBlock() --> VG_(allocCodeBlock)()
freeCodeBlock() --> VG_(freeCodeBlock)()
copyUInstr() --> VG_(copyUInstr)()
(added to vg_include.h too)

- vg_include.c: declared
* cachesim offsets
* exports of vg_cachesim.c
* added four new profiling events (increasing VGP_M_CCS to 24 -- I kept
the spare ones)
* added comment about UInstr.extra4b field being used for instr size in
JMPs for cache simulation

- docs/manual.html:
* Added --cachesim option to section 2.5.
* Added cache profiling stuff as section 7.


git-svn-id: svn://svn.valgrind.org/valgrind/trunk@168 a5019735-40e9-0310-863c-91ae7b9d1cf9
/external/valgrind/cachegrind/cg_annotate.in