From 41cbd3891ecadbf17bf93b8ac7a291a53af60cb2 Mon Sep 17 00:00:00 2001 From: "Nicolas B. Pierron" Date: Thu, 19 Jun 2014 02:01:04 -0700 Subject: [PATCH] Bug 1022232 - Add ConvertToInt32Policy to MLimitedTruncate. r=bbouvier a=abillings --- js/src/jit/MIR.h | 10 ++++++++-- 1 file changed, 8 insertions(+), 2 deletions(-) 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(); }