Revision: 18168
Author:   [email protected]
Date:     Fri Nov 29 23:46:10 2013 UTC
Log:      MIPS: Fix failures on Octane 2.0 zlib benchmark.

The bug was introduced in af9504e.

The zlib benchmark triggers long branch mode on MIPS, in which
at register is clobbered after every branch.

TEST=benchmarks/octane/zlib
BUG=
[email protected]

Review URL: https://codereview.chromium.org/95203005

Patch from Dusan Milosavljevic <[email protected]>.
http://code.google.com/p/v8/source/detail?r=18168

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

=======================================
--- /branches/bleeding_edge/src/mips/full-codegen-mips.cc Fri Nov 29 19:51:52 2013 UTC +++ /branches/bleeding_edge/src/mips/full-codegen-mips.cc Fri Nov 29 23:46:10 2013 UTC
@@ -631,11 +631,13 @@
   Label done;
   __ bind(materialize_true);
   __ LoadRoot(at, Heap::kTrueValueRootIndex);
+ // Push the value as the following branch can clobber at in long branch mode.
+  __ push(at);
   __ Branch(&done);
   __ bind(materialize_false);
   __ LoadRoot(at, Heap::kFalseValueRootIndex);
+  __ push(at);
   __ bind(&done);
-  __ push(at);
 }


--
--
v8-dev mailing list
[email protected]
http://groups.google.com/group/v8-dev
--- You received this message because you are subscribed to the Google Groups "v8-dev" group.
To unsubscribe from this group and stop receiving emails from it, send an email 
to [email protected].
For more options, visit https://groups.google.com/groups/opt_out.

Reply via email to