Cerion Armour-Brown
f8daaea1ec
Use ULong instead of Int for stopAfter and n_bbs_done - shouldn't run out of bbs for a while now...
...
git-svn-id: svn://svn.valgrind.org/vex/trunk@1051
2005-03-17 13:11:06 +00:00
Cerion Armour-Brown
dc40e0565c
handy test wrapper
...
git-svn-id: svn://svn.valgrind.org/vex/trunk@1050
2005-03-17 13:01:08 +00:00
Cerion Armour-Brown
d250492e91
stop compiler errors on fp regs, add possibily of setting xer_ca, clearly choose what tests to run
...
git-svn-id: svn://svn.valgrind.org/vex/trunk@1049
2005-03-17 13:00:11 +00:00
Julian Seward
f91789161d
Print IMarks a bit more visibly.
...
git-svn-id: svn://svn.valgrind.org/vex/trunk@1048
2005-03-17 09:57:03 +00:00
Julian Seward
2a1bd2eddd
We no longer need a complete spare copy of V hanging off the Vex tree.
...
git-svn-id: svn://svn.valgrind.org/vex/trunk@1047
2005-03-16 20:54:10 +00:00
Julian Seward
be1682ca4d
Add a new kind of IR stmt: "instruction marks" (IRStmt_IMark), so as
...
to support profiling. It is the responsibility of front ends (toIR.c)
to generate these. For each instruction, the first IR stmt emitted
should be an IMark, stating the guest address and length of the guest
instruction represented by the IR that follows. All IR stmts
following the IMark but before the next IMark are then assumed to
'belong to' the guest insn described by the first IMark. IMarks do
not denote executable code and can be ignored at any point in the
proceedings; they are an optional addition which help
profiling-annotators to navigate the IR stmt stream.
This commit adds IR level infrastructure for IMarks and IMark
generation in the x86 front end. The amd64 and ppc32 front end are
not yet done.
git-svn-id: svn://svn.valgrind.org/vex/trunk@1046
2005-03-16 18:19:10 +00:00
Julian Seward
5c88820bf5
Revert to doing x86->x86 (utterly trivial change)
...
git-svn-id: svn://svn.valgrind.org/vex/trunk@1045
2005-03-16 18:10:45 +00:00
Cerion Armour-Brown
1453b1b1f0
Fixed front-end srawi carry flag calc
...
git-svn-id: svn://svn.valgrind.org/vex/trunk@1044
2005-03-16 14:12:58 +00:00
Julian Seward
23d716110b
Add guest_TISTART and guest_TILEN fields to all guest state structs,
...
since eventually users of the library will refer to them, and unless
they exist in all guest states, compilation failure will result.
These fields contain the size and length of an area of icache
invalidated by any icache-flushing instruction encountered. On x86
and amd64 there is no such insn and so they are zeroed at startup and
play no further role at all. But on ppc32 they are written to as a
result of executing an 'icbi' instruction.
git-svn-id: svn://svn.valgrind.org/vex/trunk@1043
2005-03-16 13:57:58 +00:00
Julian Seward
f7a3fb1d87
Add %EBP/%RBP to the set of registers for which redundant-PUT
...
elimination is not done. This is needed so that Valgrind can
construct correct stack traces on x86/amd64. Curiously enough old
UCode valgrind didn't do this correctly, but because it doesn't
optimise as aggressively as Vex, we didn't notice this. Overall
result is that Vex-based valgrind now produces more accurate stack
traces, at least on x86, than valgrind-2.4.X will.
git-svn-id: svn://svn.valgrind.org/vex/trunk@1042
2005-03-16 11:52:25 +00:00
Cerion Armour-Brown
695e1e3aea
small fix to rlwnm_cb loop
...
git-svn-id: svn://svn.valgrind.org/vex/trunk@1041
2005-03-16 11:51:03 +00:00
Cerion Armour-Brown
0d05c6da2d
Fixed xer_ca flag calc for subfze,
...
Cleaned up ghelpers.c: calc_xer_ca, calc_xer_ov
Cleaned up toIR.c dis_int_arith, dis_int_cmp, dis_int_logic, dis_int_shift
git-svn-id: svn://svn.valgrind.org/vex/trunk@1040
2005-03-16 00:27:37 +00:00
Julian Seward
269f36434b
Be a bit more paranoid about icbi.
...
git-svn-id: svn://svn.valgrind.org/vex/trunk@1039
2005-03-15 18:27:40 +00:00
Julian Seward
59d98eae94
Improved method for discarding invalidated translations.
...
git-svn-id: svn://svn.valgrind.org/vex/trunk@1038
2005-03-15 17:49:46 +00:00
Julian Seward
fd8e23dc66
Support for vex-directed instruction-cache invalidation, needed for
...
PowerPC icbi instruction support.
git-svn-id: svn://svn.valgrind.org/vex/trunk@1037
2005-03-15 16:54:13 +00:00
Julian Seward
c263e72fec
Brain-dead (but working) support for Vex-directed translation-cache
...
invalidates.
git-svn-id: svn://svn.valgrind.org/vex/trunk@1036
2005-03-15 16:52:13 +00:00
Julian Seward
1bc1a47a02
Somewhat reduce the number of immediate values in test-with-immediate
...
style tests.
git-svn-id: svn://svn.valgrind.org/vex/trunk@1035
2005-03-15 16:51:30 +00:00
Cerion Armour-Brown
12cea1fc44
Fix backend cntlzw
...
git-svn-id: svn://svn.valgrind.org/vex/trunk@1034
2005-03-15 16:36:02 +00:00
Cerion Armour-Brown
b46eb02865
Cleanup backend: var name chages like src1,2 -> srcL,R etc
...
git-svn-id: svn://svn.valgrind.org/vex/trunk@1033
2005-03-15 16:33:38 +00:00
Julian Seward
32e0d3779a
Build fixes for gcc-2.96 (be more ANSI C compliant wrt placement
...
of local variable declarations).
git-svn-id: svn://svn.valgrind.org/vex/trunk@1032
2005-03-14 18:19:08 +00:00
Cerion Armour-Brown
307a405edd
Fixed ghelper mullwo overflow calc
...
git-svn-id: svn://svn.valgrind.org/vex/trunk@1031
2005-03-14 16:31:15 +00:00
Cerion Armour-Brown
0b4576207a
Fixed front-end slw for sh_amt of 32 to 64
...
git-svn-id: svn://svn.valgrind.org/vex/trunk@1030
2005-03-14 16:30:09 +00:00
Julian Seward
d663c941cb
Fill in missing memory case for pinsrw.
...
git-svn-id: svn://svn.valgrind.org/vex/trunk@1029
2005-03-13 20:19:19 +00:00
Julian Seward
db03e5da6c
The IR sanity checker quite rightly jumps up and down on the ill-typed
...
IR that this can generate. Get it right this time.
git-svn-id: svn://svn.valgrind.org/vex/trunk@1028
2005-03-13 19:52:45 +00:00
Julian Seward
2a3b990ef7
Reenable mov imm,$reg. Curious this never happened before.
...
git-svn-id: svn://svn.valgrind.org/vex/trunk@1027
2005-03-13 19:31:58 +00:00
Julian Seward
35f7b73bb2
So what if we are ignoring a branch hint? No need to shout about it.
...
git-svn-id: svn://svn.valgrind.org/vex/trunk@1026
2005-03-13 18:56:28 +00:00
Julian Seward
da1f81d30c
Deal with Group 8 immediates (bt, btl, btr, btc).
...
git-svn-id: svn://svn.valgrind.org/vex/trunk@1025
2005-03-13 17:25:53 +00:00
Julian Seward
6bed55781f
Deal better with x86 'rep nop' (P4 pause hint).
...
git-svn-id: svn://svn.valgrind.org/vex/trunk@1024
2005-03-12 16:47:18 +00:00
Julian Seward
fdc71642ed
Reenable cmpsw/cmpsl.
...
git-svn-id: svn://svn.valgrind.org/vex/trunk@1023
2005-03-11 14:00:27 +00:00
Julian Seward
47a278b4b7
Make suitable for initial test run.
...
git-svn-id: svn://svn.valgrind.org/vex/trunk@1022
2005-03-11 12:04:29 +00:00
Cerion Armour-Brown
3f22a569aa
Fixed front-end xer reg access
...
git-svn-id: svn://svn.valgrind.org/vex/trunk@1021
2005-03-11 09:12:11 +00:00
Julian Seward
6eaa1e1a80
Change license on switchback/test_ppc_jm1.c as per Jocelyn's
...
instructions.
git-svn-id: svn://svn.valgrind.org/vex/trunk@1020
2005-03-10 23:13:15 +00:00
Julian Seward
70ba85347a
rm QEMU references; the derivation is now so distant its barely
...
relevant.
git-svn-id: svn://svn.valgrind.org/vex/trunk@1019
2005-03-10 19:40:41 +00:00
Julian Seward
0411d94b86
Apparently we're a .net, not merely a .co.uk.
...
git-svn-id: svn://svn.valgrind.org/vex/trunk@1018
2005-03-10 19:33:19 +00:00
Julian Seward
cc23b8fce2
Fix typo
...
git-svn-id: svn://svn.valgrind.org/vex/trunk@1017
2005-03-10 19:09:02 +00:00
Julian Seward
f9cbaa46bf
Statement about copyright.
...
git-svn-id: svn://svn.valgrind.org/vex/trunk@1016
2005-03-10 18:55:58 +00:00
Julian Seward
2aecf5be2e
Add a copy of GNU GPL v2.
...
git-svn-id: svn://svn.valgrind.org/vex/trunk@1015
2005-03-10 18:55:27 +00:00
Julian Seward
9ad16cd45e
Clean up for public availability.
...
git-svn-id: svn://svn.valgrind.org/vex/trunk@1014
2005-03-10 18:28:08 +00:00
Cerion Armour-Brown
0309f8242c
Added test_ppc to Makefile
...
git-svn-id: svn://svn.valgrind.org/vex/trunk@1013
2005-03-10 15:53:11 +00:00
Julian Seward
27bf67a72a
Another test commit
...
git-svn-id: svn://svn.valgrind.org/vex/trunk@1012
2005-03-10 15:03:52 +00:00
Julian Seward
6454416820
A second test commit.
...
git-svn-id: svn://svn.valgrind.org/vex/trunk@1011
2005-03-10 13:54:15 +00:00
Julian Seward
acc56a9180
Remove something old (really, a test commit for the new repo location)
...
git-svn-id: svn://svn.valgrind.org/vex/trunk@1010
2005-03-10 13:27:14 +00:00
Julian Seward
284dee213a
Jocelyn Mayer's fabulous ppc test program.
...
git-svn-id: svn://svn.valgrind.org/vex/trunk@1009
2005-03-09 13:13:30 +00:00
Julian Seward
b4bb5d005d
As part of the build process, generate pub/libvex_guest_offsets.h holding
...
guest state offsets.
git-svn-id: svn://svn.valgrind.org/vex/trunk@1008
2005-03-08 16:43:27 +00:00
Julian Seward
59bd4c4ed9
A place to put auxiliary programs used as part of the build process.
...
git-svn-id: svn://svn.valgrind.org/vex/trunk@1007
2005-03-08 16:34:09 +00:00
Cerion Armour-Brown
c8e95f2908
Cleaned up front end a fair bit.
...
Consolidated spr (non-gpr/fpr) register interface
Brought together separate guest XER flags to single word
+ fixed up switchback (latter slighly broken since r1002)
Few more comments, vasserts etc.
Updated page refs to PPC32 docs
git-svn-id: svn://svn.valgrind.org/vex/trunk@1006
2005-03-04 17:35:29 +00:00
Cerion Armour-Brown
bcc594927e
fix cmd call of switchback, and deal with return err 256
...
git-svn-id: svn://svn.valgrind.org/vex/trunk@1005
2005-03-04 14:20:14 +00:00
Julian Seward
447411a551
A couple more flags-specialisation cases, derived from profiling FP
...
code.
git-svn-id: svn://svn.valgrind.org/vex/trunk@1004
2005-03-04 13:51:28 +00:00
Julian Seward
a3cfde5d22
guest state padding wibble
...
git-svn-id: svn://svn.valgrind.org/vex/trunk@1003
2005-03-04 13:50:53 +00:00
Cerion Armour-Brown
022ec327f9
Cleaning up frontend
...
- inc. changing all guest-state UChars to UInts
git-svn-id: svn://svn.valgrind.org/vex/trunk@1002
2005-03-03 17:36:23 +00:00