зеркало из https://github.com/mozilla/gecko-dev.git
Bug 886101 - Only int32-specialized bitwise ops should be marked safe in parallel. (r=nmatsakis)
This commit is contained in:
Родитель
a8ffe81a63
Коммит
0dfdf16c33
|
@ -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)
|
||||||
|
|
Загрузка…
Ссылка в новой задаче