From 007657e3a221558a775b099721cf0a94770113fb Mon Sep 17 00:00:00 2001 From: Jeff Walden Date: Wed, 31 Dec 2014 13:51:14 -0600 Subject: [PATCH] Bug 1116591 - Actually give a few MIR opcodes a type policy where they clearly intended to have one but failed to say the magic words correctly. r=nbp --- js/src/jit/MIR.h | 6 +++--- js/src/jit/TypePolicy.cpp | 3 +++ 2 files changed, 6 insertions(+), 3 deletions(-) diff --git a/js/src/jit/MIR.h b/js/src/jit/MIR.h index 4e06dddbc368..334f6a1199dc 100644 --- a/js/src/jit/MIR.h +++ b/js/src/jit/MIR.h @@ -6977,7 +6977,7 @@ class MStringReplace class MSubstr : public MTernaryInstruction, - public Mix3Policy, IntPolicy<1>, IntPolicy<2>> + public Mix3Policy, IntPolicy<1>, IntPolicy<2>>::Data { private: @@ -12082,7 +12082,7 @@ class MMemoryBarrier class MCompareExchangeTypedArrayElement : public MAryInstruction<4>, - public MixPolicy< MixPolicy, IntPolicy<1> >, MixPolicy, IntPolicy<3> > > + public MixPolicy< MixPolicy, IntPolicy<1> >, MixPolicy, IntPolicy<3> > >::Data { Scalar::Type arrayType_; @@ -12137,7 +12137,7 @@ class MCompareExchangeTypedArrayElement class MAtomicTypedArrayElementBinop : public MAryInstruction<3>, - public Mix3Policy< ObjectPolicy<0>, IntPolicy<1>, IntPolicy<2> > + public Mix3Policy< ObjectPolicy<0>, IntPolicy<1>, IntPolicy<2> >::Data { private: AtomicOp op_; diff --git a/js/src/jit/TypePolicy.cpp b/js/src/jit/TypePolicy.cpp index 98798769be8e..951df26868c3 100644 --- a/js/src/jit/TypePolicy.cpp +++ b/js/src/jit/TypePolicy.cpp @@ -993,6 +993,7 @@ FilterTypeSetPolicy::adjustInputs(TempAllocator &alloc, MInstruction *ins) _(Mix3Policy, IntPolicy<1>, BoxPolicy<2> >) \ _(Mix3Policy, IntPolicy<1>, IntPolicy<2> >) \ _(Mix3Policy, ObjectPolicy<1>, IntPolicy<2> >) \ + _(Mix3Policy, IntPolicy<1>, IntPolicy<2>>) \ _(Mix3Policy, ObjectPolicy<1>, StringPolicy<2> >) \ _(Mix3Policy, StringPolicy<1>, StringPolicy<2> >) \ _(MixPolicy, ObjectPolicy<1> >) \ @@ -1011,6 +1012,8 @@ FilterTypeSetPolicy::adjustInputs(TempAllocator &alloc, MInstruction *ins) _(MixPolicy, ConvertToStringPolicy<0> >) \ _(MixPolicy, IntPolicy<1> >) \ _(MixPolicy, StringPolicy<1> >) \ + _(MixPolicy, IntPolicy<1>>, \ + MixPolicy, IntPolicy<3>>>) \ _(NoFloatPolicy<0>) \ _(NoFloatPolicyAfter<1>) \ _(NoFloatPolicyAfter<2>) \