Bug 1020118 - fix atomic add/sub for pointer types on Win64; r=jcranmer

This commit is contained in:
Nathan Froyd 2014-06-04 15:19:51 -04:00
parent 3f0cc7c037
commit 002c131055

View File

@ -870,13 +870,13 @@ struct IntrinsicAddSub<T*> : public IntrinsicApplyHelper<T*>
static ValueType add(ValueType& aPtr, ptrdiff_t aAmount) static ValueType add(ValueType& aPtr, ptrdiff_t aAmount)
{ {
return applyBinaryFunction(&Primitives::add, aPtr, return applyBinaryFunction(&Primitives::add, aPtr,
(ValueType)(aAmount * sizeof(ValueType))); (ValueType)(aAmount * sizeof(T)));
} }
static ValueType sub(ValueType& aPtr, ptrdiff_t aAmount) static ValueType sub(ValueType& aPtr, ptrdiff_t aAmount)
{ {
return applyBinaryFunction(&Primitives::sub, aPtr, return applyBinaryFunction(&Primitives::sub, aPtr,
(ValueType)(aAmount * sizeof(ValueType))); (ValueType)(aAmount * sizeof(T)));
} }
}; };