Revision: 9700
Author:   [email protected]
Date:     Wed Oct 19 04:44:38 2011
Log:      MIPS: port Fix evaluation order of GT and LTE operators.

Port r9641 (2876c37)

Note that this port does not include crankshaft portions of this
commit. They have been included in today's update to
http://codereview.chromium.org/7934002/

Also, this fixes a changed function prototype for:
void Deoptimizer::RevertStackCheckCodeAt()

BUG=
TEST=

Review URL: http://codereview.chromium.org/8348028
Patch from Paul Lind <[email protected]>.
http://code.google.com/p/v8/source/detail?r=9700

Modified:
 /branches/bleeding_edge/src/mips/deoptimizer-mips.cc
 /branches/bleeding_edge/src/mips/full-codegen-mips.cc
 /branches/bleeding_edge/src/mips/ic-mips.cc

=======================================
--- /branches/bleeding_edge/src/mips/deoptimizer-mips.cc Thu Oct 13 00:35:38 2011 +++ /branches/bleeding_edge/src/mips/deoptimizer-mips.cc Wed Oct 19 04:44:38 2011
@@ -61,7 +61,8 @@
 }


-void Deoptimizer::RevertStackCheckCodeAt(Address pc_after,
+void Deoptimizer::RevertStackCheckCodeAt(Code* unoptimized_code,
+                                         Address pc_after,
                                          Code* check_code,
                                          Code* replacement_code) {
   UNIMPLEMENTED();
=======================================
--- /branches/bleeding_edge/src/mips/full-codegen-mips.cc Mon Oct 17 08:19:34 2011 +++ /branches/bleeding_edge/src/mips/full-codegen-mips.cc Wed Oct 19 04:44:38 2011
@@ -4100,36 +4100,26 @@
         case Token::EQ_STRICT:
         case Token::EQ:
           cc = eq;
-          __ mov(a0, result_register());
-          __ pop(a1);
           break;
         case Token::LT:
           cc = lt;
-          __ mov(a0, result_register());
-          __ pop(a1);
           break;
         case Token::GT:
- // Reverse left and right sides to obtain ECMA-262 conversion order.
-          cc = lt;
-          __ mov(a1, result_register());
-          __ pop(a0);
+          cc = gt;
          break;
         case Token::LTE:
- // Reverse left and right sides to obtain ECMA-262 conversion order.
-          cc = ge;
-          __ mov(a1, result_register());
-          __ pop(a0);
+          cc = le;
           break;
         case Token::GTE:
           cc = ge;
-          __ mov(a0, result_register());
-          __ pop(a1);
           break;
         case Token::IN:
         case Token::INSTANCEOF:
         default:
           UNREACHABLE();
       }
+      __ mov(a0, result_register());
+      __ pop(a1);

       bool inline_smi_code = ShouldInlineSmiCase(op);
       JumpPatchSite patch_site(masm_);
=======================================
--- /branches/bleeding_edge/src/mips/ic-mips.cc Thu Oct 13 01:00:10 2011
+++ /branches/bleeding_edge/src/mips/ic-mips.cc Wed Oct 19 04:44:38 2011
@@ -1560,11 +1560,9 @@
     case Token::LT:
       return lt;
     case Token::GT:
- // Reverse left and right operands to obtain ECMA-262 conversion order.
-      return lt;
+      return gt;
     case Token::LTE:
- // Reverse left and right operands to obtain ECMA-262 conversion order.
-      return ge;
+      return le;
     case Token::GTE:
       return ge;
     default:

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

Reply via email to