Revision: 5216
Author: [email protected]
Date: Mon Aug  9 07:54:23 2010
Log: 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]
Review URL: http://codereview.chromium.org/3010060
http://code.google.com/p/v8/source/detail?r=5216

Modified:
 /branches/bleeding_edge/src/ia32/codegen-ia32.cc

=======================================
--- /branches/bleeding_edge/src/ia32/codegen-ia32.cc Mon Aug 9 06:12:02 2010 +++ /branches/bleeding_edge/src/ia32/codegen-ia32.cc Mon Aug 9 07:54:23 2010
@@ -1366,8 +1366,8 @@
     __ 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 {

--
v8-dev mailing list
[email protected]
http://groups.google.com/group/v8-dev

Reply via email to