Reviewers: Paul Lind, palfia, kisg, kilvadyb,

Description:
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=

Please review this at https://codereview.chromium.org/95203005/

SVN Base: https://v8.googlecode.com/svn/branches/bleeding_edge

Affected files (+3, -1 lines):
  M src/mips/full-codegen-mips.cc


Index: src/mips/full-codegen-mips.cc
diff --git a/src/mips/full-codegen-mips.cc b/src/mips/full-codegen-mips.cc
index 0407f01c084e1b742173c7d6d397d1c9d73b4b58..a3a3f325c6993dcdd408bca4eccf280a74f6e521 100644
--- a/src/mips/full-codegen-mips.cc
+++ b/src/mips/full-codegen-mips.cc
@@ -631,11 +631,13 @@ void FullCodeGenerator::StackValueContext::Plug(
   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);
-  __ bind(&done);
   __ push(at);
+  __ bind(&done);
 }




--
--
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