Land bug 950452. r=jandem
☠☠ backed out by ab713e6d552d ☠ ☠
authorBrian Hackett <bhackett1024@gmail.com>
Thu, 19 Dec 2013 16:55:56 -0800
changeset 161301 1035869d18197aa824df385b5d42024548e2b6a1
parent 161300 8ceaf23d693f67f3af9c245c0d0407c380522182
child 161302 ca675cefb7e40c2745c9960e5436f6d396158ae6
push id37887
push usergkwong@mozilla.com
push dateFri, 20 Dec 2013 00:56:59 +0000
treeherdermozilla-inbound@1035869d1819 [default view] [failures only]
perfherder[talos] [build metrics] [platform microbench] (compared to previous push)
reviewersjandem
bugs950452
milestone29.0a1
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
Land bug 950452. r=jandem
js/src/jit/IonBuilder.cpp
--- a/js/src/jit/IonBuilder.cpp
+++ b/js/src/jit/IonBuilder.cpp
@@ -9260,16 +9260,21 @@ IonBuilder::jsop_setarg(uint32_t arg)
                     if (def == val)
                         continue;
                     otherUses = true;
                 }
                 if (!otherUses) {
                     JS_ASSERT(op->resultTypeSet() == &argTypes[arg]);
                     if (!argTypes[arg].addType(types::Type::UnknownType(), alloc_->lifoAlloc()))
                         return false;
+                    if (val->isMul())
+                        val->setResultType(MIRType_Double);
+                    else
+                        JS_ASSERT(val->type() == MIRType_Int32);
+                    val->setResultTypeSet(nullptr);
                 }
             }
         }
     }
 
     current->setArg(arg);
     return true;
 }