]> git.ipfire.org Git - thirdparty/valgrind.git/commit
Adds 16 and 32 bit fnsave/frstor, and 0x66 prefix on fldl, to guest
authorJulian Seward <jseward@acm.org>
Thu, 16 Feb 2012 14:18:56 +0000 (14:18 +0000)
committerJulian Seward <jseward@acm.org>
Thu, 16 Feb 2012 14:18:56 +0000 (14:18 +0000)
commitcfbab0e8f8d4ac967630bdb9d8c1fbc328ac5b8e
treef3f0d88fc3119394994e28fed9100e3e2de91c42
parenta800e2341d515e41c8e6a8369a23b255b6420b2d
Adds 16 and 32 bit fnsave/frstor, and 0x66 prefix on fldl, to guest
amd64.

The Oracle/Sun HotSpot Java virtual machine uses fnsave and frstor,
which valgrind supports for x86 but not amd64. Even more interesting,
HotSpot uses the 0x66 size prefix on these instructions, and on
fldl. This patch adds the 16- and 32-bit versions of fnsave/frstor to
the amd64 guest, and tolerates the 0x66 size prefix on fldl (but only
on these three fpu instructions, even though the AMD docs say all
other fpu instructions (except fnstenv and fldenv) *ignore* 0x66).

Fixes #294191.  (Eliot Moss, moss@cs.umass.edu)

git-svn-id: svn://svn.valgrind.org/vex/trunk@2253
VEX/priv/guest_amd64_defs.h
VEX/priv/guest_amd64_helpers.c
VEX/priv/guest_amd64_toIR.c
VEX/priv/guest_generic_x87.h