Bug 1145416 - IonMonkey: Add range to MFilterTypeSet, r=nbp
authorHannes Verschore <hv1989@gmail.com>
Tue, 24 Mar 2015 23:03:35 +0100
changeset 265765 253bebf00e0ff906b68978d3d2948fc4b218133f
parent 265764 ee75ca0466a6ed61dc08c9c01ee9998337b2de96
child 265766 16be901108a8b12775e7bf64dc58cbb4b94ef6e4
push id830
push userraliiev@mozilla.com
push dateFri, 19 Jun 2015 19:24:37 +0000
treeherdermozilla-release@932614382a68 [default view] [failures only]
perfherder[talos] [build metrics] [platform microbench] (compared to previous push)
reviewersnbp
bugs1145416
milestone39.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 1145416 - IonMonkey: Add range to MFilterTypeSet, r=nbp
js/src/jit/MIR.h
js/src/jit/RangeAnalysis.cpp
--- a/js/src/jit/MIR.h
+++ b/js/src/jit/MIR.h
@@ -11692,16 +11692,17 @@ class MFilterTypeSet
         return false;
     }
     AliasSet getAliasSet() const override {
         return AliasSet::None();
     }
     virtual bool neverHoist() const override {
         return resultTypeSet()->empty();
     }
+    void computeRange(TempAllocator &alloc) override;
 };
 
 // Given a value, guard that the value is in a particular TypeSet, then returns
 // that value.
 class MTypeBarrier
   : public MUnaryInstruction,
     public TypeBarrierPolicy::Data
 {
--- a/js/src/jit/RangeAnalysis.cpp
+++ b/js/src/jit/RangeAnalysis.cpp
@@ -1643,16 +1643,22 @@ MToInt32::computeRange(TempAllocator &al
 
 void
 MLimitedTruncate::computeRange(TempAllocator &alloc)
 {
     Range *output = new(alloc) Range(input());
     setRange(output);
 }
 
+void
+MFilterTypeSet::computeRange(TempAllocator &alloc)
+{
+    setRange(new(alloc) Range(getOperand(0)));
+}
+
 static Range *
 GetTypedArrayRange(TempAllocator &alloc, Scalar::Type type)
 {
     switch (type) {
       case Scalar::Uint8Clamped:
       case Scalar::Uint8:
         return Range::NewUInt32Range(alloc, 0, UINT8_MAX);
       case Scalar::Uint16: