diff --git a/js/src/jit/MIR.h b/js/src/jit/MIR.h index 43e11a83d95..20b2725d882 100644 --- a/js/src/jit/MIR.h +++ b/js/src/jit/MIR.h @@ -1029,7 +1029,9 @@ class MNop : public MNullaryInstruction // Truncation barrier. This is intended for protecting its input against // follow-up truncation optimizations. -class MLimitedTruncate : public MUnaryInstruction +class MLimitedTruncate + : public MUnaryInstruction, + public ConvertToInt32Policy<0> { public: TruncateKind truncate_; @@ -1041,7 +1043,7 @@ class MLimitedTruncate : public MUnaryInstruction truncate_(NoTruncate), truncateLimit_(limit) { - setResultType(input->type()); + setResultType(MIRType_Int32); setResultTypeSet(input->resultTypeSet()); setMovable(); } @@ -1052,6 +1054,10 @@ class MLimitedTruncate : public MUnaryInstruction return new(alloc) MLimitedTruncate(input, kind); } + TypePolicy *typePolicy() { + return this; + } + AliasSet getAliasSet() const { return AliasSet::None(); }