Bug 1240880: IonMonkey: Only do float analysis of filtertypeset with floating point types, r=bbouvier
authorHannes Verschore <hv1989@gmail.com>
Fri, 22 Jan 2016 09:13:06 -0500
changeset 281234 de993f2b895252d2ad1553dcf1ae163204f55261
parent 281233 b4ed16215f73e014f770c0fbe105335c6c88f5c1
child 281235 2081a0b73f8044aa3ccc7fe0b0cc141cb4bbe4a7
push id29934
push userphilringnalda@gmail.com
push dateSun, 24 Jan 2016 01:56:15 +0000
treeherdermozilla-central@d0df4221d105 [default view] [failures only]
perfherder[talos] [build metrics] [platform microbench] (compared to previous push)
reviewersbbouvier
bugs1240880
milestone46.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 1240880: IonMonkey: Only do float analysis of filtertypeset with floating point types, r=bbouvier
js/src/jit/MIR.h
--- a/js/src/jit/MIR.h
+++ b/js/src/jit/MIR.h
@@ -12590,17 +12590,20 @@ class MFilterTypeSet
     AliasSet getAliasSet() const override {
         return AliasSet::None();
     }
     virtual bool neverHoist() const override {
         return resultTypeSet()->empty();
     }
     void computeRange(TempAllocator& alloc) override;
 
-    bool isFloat32Commutative() const override { return true; }
+    bool isFloat32Commutative() const override {
+        return IsFloatingPointType(type());
+    }
+
     bool canProduceFloat32() const override;
     bool canConsumeFloat32(MUse* operand) const override;
     void trySpecializeFloat32(TempAllocator& alloc) override;
 };
 
 // Given a value, guard that the value is in a particular TypeSet, then returns
 // that value.
 class MTypeBarrier