Bug 886101 - Only int32-specialized bitwise ops should be marked safe in parallel. (r=nmatsakis)

This commit is contained in:
Shu-yu Guo 2013-07-03 09:47:28 -07:00
Родитель a8ffe81a63
Коммит 0dfdf16c33
1 изменённых файлов: 7 добавлений и 6 удалений

Просмотреть файл

@ -38,6 +38,7 @@ using parallel::SpewCompile;
#define PERMIT(T) (1 << T) #define PERMIT(T) (1 << T)
#define PERMIT_INT32 (PERMIT(MIRType_Int32))
#define PERMIT_NUMERIC (PERMIT(MIRType_Int32) | PERMIT(MIRType_Double)) #define PERMIT_NUMERIC (PERMIT(MIRType_Int32) | PERMIT(MIRType_Double))
#define SPECIALIZED_OP(op, flags) \ #define SPECIALIZED_OP(op, flags) \
@ -137,14 +138,14 @@ class ParallelSafetyVisitor : public MInstructionVisitor
UNSAFE_OP(GetDynamicName) UNSAFE_OP(GetDynamicName)
UNSAFE_OP(FilterArguments) UNSAFE_OP(FilterArguments)
UNSAFE_OP(CallDirectEval) UNSAFE_OP(CallDirectEval)
SAFE_OP(BitNot) SPECIALIZED_OP(BitNot, PERMIT_INT32)
UNSAFE_OP(TypeOf) UNSAFE_OP(TypeOf)
SAFE_OP(ToId) SAFE_OP(ToId)
SAFE_OP(BitAnd) SPECIALIZED_OP(BitAnd, PERMIT_INT32)
SAFE_OP(BitOr) SPECIALIZED_OP(BitOr, PERMIT_INT32)
SAFE_OP(BitXor) SPECIALIZED_OP(BitXor, PERMIT_INT32)
SAFE_OP(Lsh) SPECIALIZED_OP(Lsh, PERMIT_INT32)
SAFE_OP(Rsh) SPECIALIZED_OP(Rsh, PERMIT_INT32)
SPECIALIZED_OP(Ursh, PERMIT_NUMERIC) SPECIALIZED_OP(Ursh, PERMIT_NUMERIC)
SPECIALIZED_OP(MinMax, PERMIT_NUMERIC) SPECIALIZED_OP(MinMax, PERMIT_NUMERIC)
SAFE_OP(Abs) SAFE_OP(Abs)