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

Reply via email to