]>
git.ipfire.org Git - thirdparty/valgrind.git/log
Julian Seward [Thu, 24 Mar 2005 20:39:05 +0000 (20:39 +0000)]
Don't shout about kludged rdtsc
git-svn-id: svn://svn.valgrind.org/vex/trunk@1077
Julian Seward [Wed, 23 Mar 2005 13:34:11 +0000 (13:34 +0000)]
Reinstate 'xadd' instruction.
git-svn-id: svn://svn.valgrind.org/vex/trunk@1076
Julian Seward [Wed, 23 Mar 2005 11:36:48 +0000 (11:36 +0000)]
Re-enable a few cases.
git-svn-id: svn://svn.valgrind.org/vex/trunk@1075
Julian Seward [Wed, 23 Mar 2005 11:35:55 +0000 (11:35 +0000)]
Make rdtsc return 1 instead of 0, to stop glibc's resolver looping.
git-svn-id: svn://svn.valgrind.org/vex/trunk@1074
Julian Seward [Wed, 23 Mar 2005 11:25:12 +0000 (11:25 +0000)]
Deal more rationally with LOCK prefixes, correct at least in the way
Valgrind-3.0 intends to use Vex. This should be applied to the x86 line
too.
git-svn-id: svn://svn.valgrind.org/vex/trunk@1073
Julian Seward [Wed, 23 Mar 2005 03:39:55 +0000 (03:39 +0000)]
* widening (u)mulq from memory operand
* movb imm8,%bh (untested)
git-svn-id: svn://svn.valgrind.org/vex/trunk@1072
Julian Seward [Wed, 23 Mar 2005 03:02:50 +0000 (03:02 +0000)]
Fix silly bug introduced in r1066.
git-svn-id: svn://svn.valgrind.org/vex/trunk@1071
Julian Seward [Tue, 22 Mar 2005 14:00:31 +0000 (14:00 +0000)]
We don't need two copies of this -- there's another in orig_x86.
git-svn-id: svn://svn.valgrind.org/vex/trunk@1070
Julian Seward [Tue, 22 Mar 2005 02:24:05 +0000 (02:24 +0000)]
Turns out the recent IRStmt_NoOp hackery broke the IR optimiser quite
seriously. It was still transforming correctly, but many of the
transformations had been hampered by no longer being able to recognise
no-ops properly. This hopefully fixes it.
git-svn-id: svn://svn.valgrind.org/vex/trunk@1069
Julian Seward [Tue, 22 Mar 2005 00:15:00 +0000 (00:15 +0000)]
amd64 back end: deal with (ignore) Ist_IMark and Ist_NoOp
git-svn-id: svn://svn.valgrind.org/vex/trunk@1068
Julian Seward [Mon, 21 Mar 2005 17:41:45 +0000 (17:41 +0000)]
Generate offsets needed for V on amd64.
git-svn-id: svn://svn.valgrind.org/vex/trunk@1067
Julian Seward [Mon, 21 Mar 2005 03:11:17 +0000 (03:11 +0000)]
Make several more files compile cleanly with icc -Wall. Hopefully
this doesn't break anything.
git-svn-id: svn://svn.valgrind.org/vex/trunk@1066
Julian Seward [Mon, 21 Mar 2005 02:47:42 +0000 (02:47 +0000)]
The "icc -Wall" placation project rumbles onward ...
git-svn-id: svn://svn.valgrind.org/vex/trunk@1065
Julian Seward [Mon, 21 Mar 2005 01:06:20 +0000 (01:06 +0000)]
The Icc typechecker police have been round banging on our doors again.
Placating icc -Wall is a Herculean task; I don't know if it will ever
get completed.
git-svn-id: svn://svn.valgrind.org/vex/trunk@1064
Julian Seward [Mon, 21 Mar 2005 01:03:49 +0000 (01:03 +0000)]
Bring up-to-date.
git-svn-id: svn://svn.valgrind.org/vex/trunk@1063
Julian Seward [Mon, 21 Mar 2005 00:54:33 +0000 (00:54 +0000)]
A small API change: pass both the guest and host word sizes to the
instrumentatation functions.
git-svn-id: svn://svn.valgrind.org/vex/trunk@1062
Julian Seward [Mon, 21 Mar 2005 00:15:53 +0000 (00:15 +0000)]
Add a new IR statement kind: IRStmt_NoOp, to denote a no-operation.
These are generated by the IR optimiser. The use of no-ops replaces
the old practice of allowing a BB to contain NULL pointers in its
statement array as a way of denoting no-ops. NULL stmts are now no
longer allowed under any circumstances, and the IR sanity checker will
reject any BB containing them.
git-svn-id: svn://svn.valgrind.org/vex/trunk@1061
Julian Seward [Mon, 21 Mar 2005 00:12:15 +0000 (00:12 +0000)]
Fix copy-n-paste-o spotted by Ceri.
git-svn-id: svn://svn.valgrind.org/vex/trunk@1060
Julian Seward [Sun, 20 Mar 2005 18:44:44 +0000 (18:44 +0000)]
This commit looks big but it is really quite small. Fixes some
matters arising from the first-pass attempt at IRifying cachegrind:
* Make all library-user visible functions have names that
match either LibVEX_* or *IR[A-Z]*.
* Put a comment at the top of libvex_ir.h explaining the
naming scheme a little.
* Make a previously-private function public, giving eqIRAtom.
git-svn-id: svn://svn.valgrind.org/vex/trunk@1059
Julian Seward [Sun, 20 Mar 2005 12:51:39 +0000 (12:51 +0000)]
The party never stops in x86-land: implement 'fstsw' as cachegrind's
regression tests require it.
Also tighten up assertion checking in putIReg, and update some
copyright notices.
git-svn-id: svn://svn.valgrind.org/vex/trunk@1058
Julian Seward [Sat, 19 Mar 2005 14:27:04 +0000 (14:27 +0000)]
More insns: ftst, movupd
git-svn-id: svn://svn.valgrind.org/vex/trunk@1057
Julian Seward [Sat, 19 Mar 2005 14:26:27 +0000 (14:26 +0000)]
Move this file to the right place.
git-svn-id: svn://svn.valgrind.org/vex/trunk@1056
Julian Seward [Sat, 19 Mar 2005 14:25:49 +0000 (14:25 +0000)]
Test for the x87 'tst' instruction. In the wrong place unfortunately.
git-svn-id: svn://svn.valgrind.org/vex/trunk@1055
Cerion Armour-Brown [Fri, 18 Mar 2005 12:23:33 +0000 (12:23 +0000)]
Framework for front-end floating point disassembly
git-svn-id: svn://svn.valgrind.org/vex/trunk@1054
Julian Seward [Thu, 17 Mar 2005 14:03:46 +0000 (14:03 +0000)]
Fill in missing pinsrw memory-to-xmm case.
git-svn-id: svn://svn.valgrind.org/vex/trunk@1053
Cerion Armour-Brown [Thu, 17 Mar 2005 14:03:36 +0000 (14:03 +0000)]
Quieten down gcc
git-svn-id: svn://svn.valgrind.org/vex/trunk@1052
Cerion Armour-Brown [Thu, 17 Mar 2005 13:11:06 +0000 (13:11 +0000)]
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
Cerion Armour-Brown [Thu, 17 Mar 2005 13:01:08 +0000 (13:01 +0000)]
handy test wrapper
git-svn-id: svn://svn.valgrind.org/vex/trunk@1050
Cerion Armour-Brown [Thu, 17 Mar 2005 13:00:11 +0000 (13:00 +0000)]
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
Julian Seward [Thu, 17 Mar 2005 09:57:03 +0000 (09:57 +0000)]
Print IMarks a bit more visibly.
git-svn-id: svn://svn.valgrind.org/vex/trunk@1048
Julian Seward [Wed, 16 Mar 2005 20:54:10 +0000 (20:54 +0000)]
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
Julian Seward [Wed, 16 Mar 2005 18:19:10 +0000 (18:19 +0000)]
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
Julian Seward [Wed, 16 Mar 2005 18:10:45 +0000 (18:10 +0000)]
Revert to doing x86->x86 (utterly trivial change)
git-svn-id: svn://svn.valgrind.org/vex/trunk@1045
Cerion Armour-Brown [Wed, 16 Mar 2005 14:12:58 +0000 (14:12 +0000)]
Fixed front-end srawi carry flag calc
git-svn-id: svn://svn.valgrind.org/vex/trunk@1044
Julian Seward [Wed, 16 Mar 2005 13:57:58 +0000 (13:57 +0000)]
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
Julian Seward [Wed, 16 Mar 2005 11:52:25 +0000 (11:52 +0000)]
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
Cerion Armour-Brown [Wed, 16 Mar 2005 11:51:03 +0000 (11:51 +0000)]
small fix to rlwnm_cb loop
git-svn-id: svn://svn.valgrind.org/vex/trunk@1041
Cerion Armour-Brown [Wed, 16 Mar 2005 00:27:37 +0000 (00:27 +0000)]
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
Julian Seward [Tue, 15 Mar 2005 18:27:40 +0000 (18:27 +0000)]
Be a bit more paranoid about icbi.
git-svn-id: svn://svn.valgrind.org/vex/trunk@1039
Julian Seward [Tue, 15 Mar 2005 17:49:46 +0000 (17:49 +0000)]
Improved method for discarding invalidated translations.
git-svn-id: svn://svn.valgrind.org/vex/trunk@1038
Julian Seward [Tue, 15 Mar 2005 16:54:13 +0000 (16:54 +0000)]
Support for vex-directed instruction-cache invalidation, needed for
PowerPC icbi instruction support.
git-svn-id: svn://svn.valgrind.org/vex/trunk@1037
Julian Seward [Tue, 15 Mar 2005 16:52:13 +0000 (16:52 +0000)]
Brain-dead (but working) support for Vex-directed translation-cache
invalidates.
git-svn-id: svn://svn.valgrind.org/vex/trunk@1036
Julian Seward [Tue, 15 Mar 2005 16:51:30 +0000 (16:51 +0000)]
Somewhat reduce the number of immediate values in test-with-immediate
style tests.
git-svn-id: svn://svn.valgrind.org/vex/trunk@1035
Cerion Armour-Brown [Tue, 15 Mar 2005 16:36:02 +0000 (16:36 +0000)]
Fix backend cntlzw
git-svn-id: svn://svn.valgrind.org/vex/trunk@1034
Cerion Armour-Brown [Tue, 15 Mar 2005 16:33:38 +0000 (16:33 +0000)]
Cleanup backend: var name chages like src1,2 -> srcL,R etc
git-svn-id: svn://svn.valgrind.org/vex/trunk@1033
Julian Seward [Mon, 14 Mar 2005 18:19:08 +0000 (18:19 +0000)]
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
Cerion Armour-Brown [Mon, 14 Mar 2005 16:31:15 +0000 (16:31 +0000)]
Fixed ghelper mullwo overflow calc
git-svn-id: svn://svn.valgrind.org/vex/trunk@1031
Cerion Armour-Brown [Mon, 14 Mar 2005 16:30:09 +0000 (16:30 +0000)]
Fixed front-end slw for sh_amt of 32 to 64
git-svn-id: svn://svn.valgrind.org/vex/trunk@1030
Julian Seward [Sun, 13 Mar 2005 20:19:19 +0000 (20:19 +0000)]
Fill in missing memory case for pinsrw.
git-svn-id: svn://svn.valgrind.org/vex/trunk@1029
Julian Seward [Sun, 13 Mar 2005 19:52:45 +0000 (19:52 +0000)]
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
Julian Seward [Sun, 13 Mar 2005 19:31:58 +0000 (19:31 +0000)]
Reenable mov imm,$reg. Curious this never happened before.
git-svn-id: svn://svn.valgrind.org/vex/trunk@1027
Julian Seward [Sun, 13 Mar 2005 18:56:28 +0000 (18:56 +0000)]
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
Julian Seward [Sun, 13 Mar 2005 17:25:53 +0000 (17:25 +0000)]
Deal with Group 8 immediates (bt, btl, btr, btc).
git-svn-id: svn://svn.valgrind.org/vex/trunk@1025
Julian Seward [Sat, 12 Mar 2005 16:47:18 +0000 (16:47 +0000)]
Deal better with x86 'rep nop' (P4 pause hint).
git-svn-id: svn://svn.valgrind.org/vex/trunk@1024
Julian Seward [Fri, 11 Mar 2005 14:00:27 +0000 (14:00 +0000)]
Reenable cmpsw/cmpsl.
git-svn-id: svn://svn.valgrind.org/vex/trunk@1023
Julian Seward [Fri, 11 Mar 2005 12:04:29 +0000 (12:04 +0000)]
Make suitable for initial test run.
git-svn-id: svn://svn.valgrind.org/vex/trunk@1022
Cerion Armour-Brown [Fri, 11 Mar 2005 09:12:11 +0000 (09:12 +0000)]
Fixed front-end xer reg access
git-svn-id: svn://svn.valgrind.org/vex/trunk@1021
Julian Seward [Thu, 10 Mar 2005 23:13:15 +0000 (23:13 +0000)]
Change license on switchback/test_ppc_jm1.c as per Jocelyn's
instructions.
git-svn-id: svn://svn.valgrind.org/vex/trunk@1020
Julian Seward [Thu, 10 Mar 2005 19:40:41 +0000 (19:40 +0000)]
rm QEMU references; the derivation is now so distant its barely
relevant.
git-svn-id: svn://svn.valgrind.org/vex/trunk@1019
Julian Seward [Thu, 10 Mar 2005 19:33:19 +0000 (19:33 +0000)]
Apparently we're a .net, not merely a .co.uk.
git-svn-id: svn://svn.valgrind.org/vex/trunk@1018
Julian Seward [Thu, 10 Mar 2005 19:09:02 +0000 (19:09 +0000)]
Fix typo
git-svn-id: svn://svn.valgrind.org/vex/trunk@1017
Julian Seward [Thu, 10 Mar 2005 18:55:58 +0000 (18:55 +0000)]
Statement about copyright.
git-svn-id: svn://svn.valgrind.org/vex/trunk@1016
Julian Seward [Thu, 10 Mar 2005 18:55:27 +0000 (18:55 +0000)]
Add a copy of GNU GPL v2.
git-svn-id: svn://svn.valgrind.org/vex/trunk@1015
Julian Seward [Thu, 10 Mar 2005 18:28:08 +0000 (18:28 +0000)]
Clean up for public availability.
git-svn-id: svn://svn.valgrind.org/vex/trunk@1014
Cerion Armour-Brown [Thu, 10 Mar 2005 15:53:11 +0000 (15:53 +0000)]
Added test_ppc to Makefile
git-svn-id: svn://svn.valgrind.org/vex/trunk@1013
Julian Seward [Thu, 10 Mar 2005 15:03:52 +0000 (15:03 +0000)]
Another test commit
git-svn-id: svn://svn.valgrind.org/vex/trunk@1012
Julian Seward [Thu, 10 Mar 2005 13:54:15 +0000 (13:54 +0000)]
A second test commit.
git-svn-id: svn://svn.valgrind.org/vex/trunk@1011
Julian Seward [Thu, 10 Mar 2005 13:27:14 +0000 (13:27 +0000)]
Remove something old (really, a test commit for the new repo location)
git-svn-id: svn://svn.valgrind.org/vex/trunk@1010
Julian Seward [Wed, 9 Mar 2005 13:13:30 +0000 (13:13 +0000)]
Jocelyn Mayer's fabulous ppc test program.
git-svn-id: svn://svn.valgrind.org/vex/trunk@1009
Julian Seward [Tue, 8 Mar 2005 16:43:27 +0000 (16:43 +0000)]
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
Julian Seward [Tue, 8 Mar 2005 16:34:09 +0000 (16:34 +0000)]
A place to put auxiliary programs used as part of the build process.
git-svn-id: svn://svn.valgrind.org/vex/trunk@1007
Cerion Armour-Brown [Fri, 4 Mar 2005 17:35:29 +0000 (17:35 +0000)]
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
Cerion Armour-Brown [Fri, 4 Mar 2005 14:20:14 +0000 (14:20 +0000)]
fix cmd call of switchback, and deal with return err 256
git-svn-id: svn://svn.valgrind.org/vex/trunk@1005
Julian Seward [Fri, 4 Mar 2005 13:51:28 +0000 (13:51 +0000)]
A couple more flags-specialisation cases, derived from profiling FP
code.
git-svn-id: svn://svn.valgrind.org/vex/trunk@1004
Julian Seward [Fri, 4 Mar 2005 13:50:53 +0000 (13:50 +0000)]
guest state padding wibble
git-svn-id: svn://svn.valgrind.org/vex/trunk@1003
Cerion Armour-Brown [Thu, 3 Mar 2005 17:36:23 +0000 (17:36 +0000)]
Cleaning up frontend
- inc. changing all guest-state UChars to UInts
git-svn-id: svn://svn.valgrind.org/vex/trunk@1002
Cerion Armour-Brown [Thu, 3 Mar 2005 17:21:51 +0000 (17:21 +0000)]
Cleaned up backend a little
git-svn-id: svn://svn.valgrind.org/vex/trunk@1001
Cerion Armour-Brown [Thu, 3 Mar 2005 13:55:22 +0000 (13:55 +0000)]
Dealt properly with immediates in the backend - reduces emmitted code by ~1/3
git-svn-id: svn://svn.valgrind.org/vex/trunk@1000
Cerion Armour-Brown [Thu, 3 Mar 2005 05:29:17 +0000 (05:29 +0000)]
comments only: guest-state offsets
git-svn-id: svn://svn.valgrind.org/vex/trunk@999
Cerion Armour-Brown [Thu, 3 Mar 2005 05:17:08 +0000 (05:17 +0000)]
Cleaned up isel for instns taking an RI arg
- limiting imms to 15 bits, so don't get inappropriately sign-extended.
git-svn-id: svn://svn.valgrind.org/vex/trunk@998
Cerion Armour-Brown [Thu, 3 Mar 2005 04:49:09 +0000 (04:49 +0000)]
printout stderr msg on abnormal switchback exit
git-svn-id: svn://svn.valgrind.org/vex/trunk@997
Cerion Armour-Brown [Thu, 3 Mar 2005 02:21:22 +0000 (02:21 +0000)]
Fixed sign-extend bug for compares (just putting imm in a reg, for now) - test_bzip works now!
Load small imm's more simply in mk_iMOVds_RRI (move RI to R).
git-svn-id: svn://svn.valgrind.org/vex/trunk@996
Cerion Armour-Brown [Thu, 3 Mar 2005 02:17:06 +0000 (02:17 +0000)]
Simplified sraw a little
git-svn-id: svn://svn.valgrind.org/vex/trunk@995
Julian Seward [Wed, 2 Mar 2005 16:05:13 +0000 (16:05 +0000)]
* toIR.c: Handle a few more insns needed to run simple X applications
(xfontsel, xedit)
* iropt.c: add a folding rule for Xor16.
git-svn-id: svn://svn.valgrind.org/vex/trunk@994
Cerion Armour-Brown [Tue, 1 Mar 2005 20:31:53 +0000 (20:31 +0000)]
Deal with last_bad == given_last_good
Some printout changes
Ignore vex output in output test
git-svn-id: svn://svn.valgrind.org/vex/trunk@993
Cerion Armour-Brown [Tue, 1 Mar 2005 20:27:49 +0000 (20:27 +0000)]
Small backend printout changes only
git-svn-id: svn://svn.valgrind.org/vex/trunk@992
Julian Seward [Tue, 1 Mar 2005 10:19:23 +0000 (10:19 +0000)]
Add a constant folding rule for MullS32.
git-svn-id: svn://svn.valgrind.org/vex/trunk@991
Cerion Armour-Brown [Tue, 1 Mar 2005 09:32:01 +0000 (09:32 +0000)]
Front end bug: bad arg order for MuxOX of srw
git-svn-id: svn://svn.valgrind.org/vex/trunk@990
Cerion Armour-Brown [Tue, 1 Mar 2005 09:11:49 +0000 (09:11 +0000)]
Backend bug: mkFormD wasn't smallifying the imm
(plus not-quite-right vassert)
Small change to front-end cmp DIP
git-svn-id: svn://svn.valgrind.org/vex/trunk@989
Cerion Armour-Brown [Mon, 28 Feb 2005 18:48:27 +0000 (18:48 +0000)]
perl script to run a binary search with switchback
git-svn-id: svn://svn.valgrind.org/vex/trunk@988
Cerion Armour-Brown [Mon, 28 Feb 2005 16:43:16 +0000 (16:43 +0000)]
Front-end fix for slw - _record_ the result...
git-svn-id: svn://svn.valgrind.org/vex/trunk@987
Julian Seward [Mon, 28 Feb 2005 14:26:22 +0000 (14:26 +0000)]
Gradually move popular translations towards the start of the
table, so they can be found more quickly on subsequent lookups.
git-svn-id: svn://svn.valgrind.org/vex/trunk@986
Julian Seward [Mon, 28 Feb 2005 12:26:49 +0000 (12:26 +0000)]
Get rid of assertion which, as gcc points out, is useless.
git-svn-id: svn://svn.valgrind.org/vex/trunk@985
Julian Seward [Sun, 27 Feb 2005 13:39:25 +0000 (13:39 +0000)]
Placate Icc in the usual way.
git-svn-id: svn://svn.valgrind.org/vex/trunk@984
Julian Seward [Sun, 27 Feb 2005 13:35:41 +0000 (13:35 +0000)]
A few more 64-bit folding rules.
git-svn-id: svn://svn.valgrind.org/vex/trunk@983
Julian Seward [Sun, 27 Feb 2005 13:31:42 +0000 (13:31 +0000)]
Comment-only change.
git-svn-id: svn://svn.valgrind.org/vex/trunk@982
Julian Seward [Sun, 27 Feb 2005 13:25:31 +0000 (13:25 +0000)]
Oops! The whole point of rev 980 was to get rid of eregOfRM and
gregOfRM. This commit actually does get rid of them :-)
git-svn-id: svn://svn.valgrind.org/vex/trunk@981
Julian Seward [Sun, 27 Feb 2005 13:10:48 +0000 (13:10 +0000)]
A major overhaul of the way integer register decoding is done on
amd64.
The presence of REX bytes -- whilst apparently a simple change --
significantly complicates instruction decoding. The main problem is
that integer register numbers are now split into two pieces, one bit
from the REX byte and three bits from the modrm byte (or wherever).
The tricky bit is to always ensure that the correct pieces are
reassembled to form 4-bit register numbers. Prior to this commit, it
was easy to make that kind of error -- eg, conjoining the REX.B bit
with the 'g' modrm field to produce a nonsense register number. This
commit rearranges the handling functions for integer registers to make
that kind of error much less likely, basically by not allowing you to
deal in fragments of register fields unless absolutely necessary.
git-svn-id: svn://svn.valgrind.org/vex/trunk@980
Julian Seward [Sat, 26 Feb 2005 02:16:39 +0000 (02:16 +0000)]
Icc typechecker police.
git-svn-id: svn://svn.valgrind.org/vex/trunk@979
Julian Seward [Sat, 26 Feb 2005 02:00:50 +0000 (02:00 +0000)]
More icc-related cleanups.
git-svn-id: svn://svn.valgrind.org/vex/trunk@978