Reviewers: Erik Corry, Description: 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.
[email protected] Please review this at http://codereview.chromium.org/3010060/show SVN Base: http://v8.googlecode.com/svn/branches/bleeding_edge/ Affected files: M src/ia32/codegen-ia32.cc Index: src/ia32/codegen-ia32.cc =================================================================== --- src/ia32/codegen-ia32.cc (revision 5215) +++ src/ia32/codegen-ia32.cc (working copy) @@ -1366,8 +1366,8 @@ __ movdbl(FieldOperand(left_, HeapNumber::kValueOffset), xmm0); } else { if (op_ == Token::SHR) { + __ push(Immediate(0)); // High word of unsigned value. __ push(dst_); - __ push(Immediate(0)); // High word of unsigned value. __ fild_d(Operand(esp, 0)); __ Drop(2); } else { -- v8-dev mailing list [email protected] http://groups.google.com/group/v8-dev
