OSDN Git Service

ART: GenNegLong incorrectly handled register overlap for x86
authornikolay serdjuk <nikolay.y.serdjuk@intel.com>
Mon, 10 Nov 2014 09:53:27 +0000 (16:53 +0700)
committernikolay serdjuk <nikolay.y.serdjuk@intel.com>
Mon, 10 Nov 2014 10:03:11 +0000 (17:03 +0700)
commitd24c9346138b7b8723461d94d9866762a59929d9
treed71dee49aecba16c5f7839408036377a95b2d345
parent97c1a658b063ac202a29d31b5c0ef55a6f233537
ART: GenNegLong incorrectly handled register overlap for x86

There is a bug in the GenNegLong: it should invoke
   OpRegCopy(temp_reg, rl_result.reg.GetHigh());
instead of
   OpRegCopy(temp_reg, rl_result.reg);
But, anyway there is no need to handle the overlap
anymore because it is already handled in OpRegCopyWide()
which is invoked from StoreValueWide().
Change-Id: I379ed23434c72a91e875e753708387be6502bc57
Signed-off-by: nikolay serdjuk <nikolay.y.serdjuk@intel.com>
compiler/dex/quick/x86/int_x86.cc
test/800-smali/expected.txt
test/800-smali/smali/negLong.smali [new file with mode: 0755]
test/800-smali/src/Main.java