Fix bug in binary operations code. When loading a 32-bit integer as a

64-bit integer to the stack, the high and low parts of the 64-bit
value were pushed in the wrong order.

TBR=erik.corry@gmail.com
Review URL: http://codereview.chromium.org/3010060

git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@5216 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
This commit is contained in:
ager@chromium.org 2010-08-09 14:54:23 +00:00
parent 751ec5d099
commit 9677b96b7b

View File

@ -1366,8 +1366,8 @@ void DeferredInlineBinaryOperation::GenerateAnswerOutOfRange() {
__ movdbl(FieldOperand(left_, HeapNumber::kValueOffset), xmm0);
} else {
if (op_ == Token::SHR) {
__ push(dst_);
__ push(Immediate(0)); // High word of unsigned value.
__ push(dst_);
__ fild_d(Operand(esp, 0));
__ Drop(2);
} else {