Bug 1603886 - Remove an assertion that doesn't always hold. r=bbouvier
authorJan de Mooij <jdemooij@mozilla.com>
Tue, 17 Dec 2019 11:18:33 +0000
changeset 507388 0bfce120565dbdcbb92af559ef610c75e8548569
parent 507387 8faa0330e8fa4bb87ed4d1b25519212aae483a42
child 507389 7fd4e59c05ae5b4aa63990b3fb692f3f75d5ef15
push id36926
push useraciure@mozilla.com
push dateTue, 17 Dec 2019 16:17:53 +0000
treeherdermozilla-central@930ad6def3c7 [default view] [failures only]
perfherder[talos] [build metrics] [platform microbench] (compared to previous push)
reviewersbbouvier
bugs1603886
milestone73.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
Bug 1603886 - Remove an assertion that doesn't always hold. r=bbouvier I added this assertion, but it can fail after conversion/box instructions have been added. Differential Revision: https://phabricator.services.mozilla.com/D57445
js/src/jit/IonAnalysis.cpp
--- a/js/src/jit/IonAnalysis.cpp
+++ b/js/src/jit/IonAnalysis.cpp
@@ -1824,19 +1824,16 @@ bool TypeAnalyzer::adjustPhiInputs(MPhi*
         phi->replaceOperand(i, in->toBox()->input());
       } else {
         MInstruction* replacement;
 
         if (phiType == MIRType::Double && IsFloatType(in->type())) {
           // Convert int32 operands to double.
           replacement = MToDouble::New(alloc(), in);
         } else if (phiType == MIRType::Float32) {
-          MOZ_ASSERT(in->canProduceFloat32() ||
-                     (in->resultTypeSet() && in->resultTypeSet()->empty()));
-
           if (in->type() == MIRType::Int32 || in->type() == MIRType::Double) {
             replacement = MToFloat32::New(alloc(), in);
           } else {
             // See comment below
             if (in->type() != MIRType::Value) {
               MBox* box = MBox::New(alloc(), in);
               in->block()->insertBefore(in->block()->lastIns(), box);
               in = box;