[JAEGER] Fix 3a6f645100eb x64 breakage. no_r=fire.
☠☠ backed out by c601fca063c7 ☠ ☠
authorSean Stangl <sstangl@mozilla.com>
Tue, 10 Aug 2010 13:25:55 -0700
changeset 53364 a584696862949136f73a7f721235ea1c63eb09b9
parent 53363 3a6f645100eba84c5fba4aa1b99c597b07c2e001
child 53365 4e1c23ed3b2d6745b85ceecf8a7a46fd594a08ee
child 53366 c601fca063c7cee5ac0edcff9935f0291eb6b897
push id1
push userroot
push dateTue, 26 Apr 2011 22:38:44 +0000
treeherdermozilla-beta@bfdb6e623a36 [default view] [failures only]
perfherder[talos] [build metrics] [platform microbench] (compared to previous push)
milestone2.0b4pre
first release with
nightly linux32
nightly linux64
nightly mac
nightly win32
nightly win64
last release without
nightly linux32
nightly linux64
nightly mac
nightly win32
nightly win64
[JAEGER] Fix 3a6f645100eb x64 breakage. no_r=fire.
js/src/methodjit/Compiler.cpp
--- a/js/src/methodjit/Compiler.cpp
+++ b/js/src/methodjit/Compiler.cpp
@@ -940,27 +940,43 @@ mjit::Compiler::generateMethod()
             jsop_stricteq(op);
           END_CASE(JSOP_STRICTEQ)
 
           BEGIN_CASE(JSOP_STRICTNE)
             jsop_stricteq(op);
           END_CASE(JSOP_STRICTNE)
 
           BEGIN_CASE(JSOP_ITER)
+#if defined JS_CPU_X64
+          {
+            prepareStubCall(Uses(1));
+            masm.move(Imm32(PC[1]), Registers::ArgReg1);
+            stubCall(stubs::Iter);
+            frame.pop();
+            frame.pushSynced();
+          }
+#else
             iter(PC[1]);
+#endif
           END_CASE(JSOP_ITER)
 
           BEGIN_CASE(JSOP_MOREITER)
             /* This MUST be fused with IFNE or IFNEX. */
             iterMore();
             break;
           END_CASE(JSOP_MOREITER)
 
           BEGIN_CASE(JSOP_ENDITER)
+#if defined JS_CPU_X64
+            prepareStubCall(Uses(1));
+            stubCall(stubs::EndIter);
+            frame.pop();
+#else
             iterEnd();
+#endif
           END_CASE(JSOP_ENDITER)
 
           BEGIN_CASE(JSOP_POP)
             frame.pop();
           END_CASE(JSOP_POP)
 
           BEGIN_CASE(JSOP_NEW)
           {