Make a copy of r2270/r12476 for work on translation chaining.


git-svn-id: svn://svn.valgrind.org/valgrind/branches/TCHAIN@12477 a5019735-40e9-0310-863c-91ae7b9d1cf9
Swizzle external.


git-svn-id: svn://svn.valgrind.org/valgrind/branches/TCHAIN@12479 a5019735-40e9-0310-863c-91ae7b9d1cf9
Add translation chaining support for amd64, x86 and ARM
(Valgrind side).  See #296422.



git-svn-id: svn://svn.valgrind.org/valgrind/branches/TCHAIN@12484 a5019735-40e9-0310-863c-91ae7b9d1cf9
Make the return type of VG_(disp_run_translations) be void, rather
than the HWord it was claimed to be.  Inconsistency spotted by
Philippe Waroquiers.



git-svn-id: svn://svn.valgrind.org/valgrind/branches/TCHAIN@12486 a5019735-40e9-0310-863c-91ae7b9d1cf9
Fix assert due to gdbserver discarding translation
The fix consists in checking if the translation
of the 'from' address is still existing.

Patch also contains a big comment explaining why it is
safe to discard/erase the current translation being
executed.

In a follow-up patch, the Bool in VG_(translate) will
be removed :
  Bool VG_(translate) ( /*OUT*/Bool* caused_discardP,
(if experiment confirms the hypothesis that it is
safe to discard current translation).



git-svn-id: svn://svn.valgrind.org/valgrind/branches/TCHAIN@12488 a5019735-40e9-0310-863c-91ae7b9d1cf9
Switch back optimisation flag back to -O2 by removing the -O

Note that I believe it is possible to avoid Makefile.all.am
edition for this by using:
   ./configure CFLAGS="-O0 -g"

I think with this, make will mostly compile everything with the given CFLAGS
except the main programs (valgrind, vgdb, ...).



git-svn-id: svn://svn.valgrind.org/valgrind/branches/TCHAIN@12489 a5019735-40e9-0310-863c-91ae7b9d1cf9
TCHAIN: remove caused_discard* argument to VG_(translate)
This is the followup to rev 12488.
With this revision, translation chaining is not done
if the translation with 'from address' is not existing
anymore (discarded or erased).
The assumption documented in 12488 comment has been checked by:
  * first reproduce a crash in Firefox when always setting
    caused discard to False
  * then upgrade to rev 12488
  * with this upgrade, no crash anymore.
=> this verifies that the caused discard logic is properly
replaced by revision 12488.

So, the caused discard logic can be removed.



git-svn-id: svn://svn.valgrind.org/valgrind/branches/TCHAIN@12492 a5019735-40e9-0310-863c-91ae7b9d1cf9
TCHAIN: avoid calls to search_transtab and return to scheduer by first using tt_fast
This slightly improves some perf tests (e.g. heap).
Some not explained "real time" slow down of bz2 between trunk/svn tchain
and this patch analyzed with callgrind/cachegrind.
realtime slowdown attributed to Pentium 4 self modifying code unfriendly cache.

(callgrind/cachegrind cache simulation do not understand self modifying
code).



git-svn-id: svn://svn.valgrind.org/valgrind/branches/TCHAIN@12499 a5019735-40e9-0310-863c-91ae7b9d1cf9
Translation chaining for s390. To be debugged.


git-svn-id: svn://svn.valgrind.org/valgrind/branches/TCHAIN@12502 a5019735-40e9-0310-863c-91ae7b9d1cf9
Mention running with --profile-flags.


git-svn-id: svn://svn.valgrind.org/valgrind/branches/TCHAIN@12511 a5019735-40e9-0310-863c-91ae7b9d1cf9
Add translation chaining support for ppc32 (tested) and to
a large extent for ppc64 (incomplete, untested) (Valgrind side)


git-svn-id: svn://svn.valgrind.org/valgrind/branches/TCHAIN@12512 a5019735-40e9-0310-863c-91ae7b9d1cf9
Fill in some more bits to do with t-chaining for ppc64
(still doesn't work) (Valgrind side)


git-svn-id: svn://svn.valgrind.org/valgrind/branches/TCHAIN@12513 a5019735-40e9-0310-863c-91ae7b9d1cf9
Changes needed to make t-chaining work on ppc64-linux (valgrind side).


git-svn-id: svn://svn.valgrind.org/valgrind/branches/TCHAIN@12514 a5019735-40e9-0310-863c-91ae7b9d1cf9
Add a missing included, needed for ppc targets.


git-svn-id: svn://svn.valgrind.org/valgrind/branches/TCHAIN@12516 a5019735-40e9-0310-863c-91ae7b9d1cf9
Minor improvements in debug printing for stabs reading.


git-svn-id: svn://svn.valgrind.org/valgrind/trunk@13439 a5019735-40e9-0310-863c-91ae7b9d1cf9
Merge r13421:HEAD from branches/DISRV.  This merges the debuginfo-server
stuff into the trunk.


git-svn-id: svn://svn.valgrind.org/valgrind/trunk@13440 a5019735-40e9-0310-863c-91ae7b9d1cf9
Update expected outputs.


git-svn-id: svn://svn.valgrind.org/valgrind/trunk@13441 a5019735-40e9-0310-863c-91ae7b9d1cf9