Fix a bug with register use in optimized Math.round.
authorfschneider@chromium.org <fschneider@chromium.org@ce2b1a6d-e550-0410-aec6-3dcde31c8c00>
Wed, 7 Dec 2011 10:13:46 +0000 (10:13 +0000)
committerfschneider@chromium.org <fschneider@chromium.org@ce2b1a6d-e550-0410-aec6-3dcde31c8c00>
Wed, 7 Dec 2011 10:13:46 +0000 (10:13 +0000)
commitc1662a199b6d23de4af4933e998b74b148c5c172
tree464a803d7cbe2b2a09bd573c09916ac5c52c7dc3
parent10675502f8f8f75e4e98a64d5f4216b28e756b2f
Fix a bug with register use in optimized Math.round.

We're not allowed to modify the input register and have to
use a temporary instead, otherwise the result of expressions
containing Math.round can be wrong.

BUG=106351
TEST=test/mjsunit/compiler/regress-106351.js
Review URL: http://codereview.chromium.org/8833007

git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@10190 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
src/arm/lithium-codegen-arm.cc
src/ia32/lithium-codegen-ia32.cc
src/mips/lithium-codegen-mips.cc
src/x64/lithium-codegen-x64.cc
test/mjsunit/compiler/regress-106351.js [new file with mode: 0644]