Bug 1661256 part 24 - Convert Atomics*Fn callWithABI dynamic calls. r=lth

Differential Revision: https://phabricator.services.mozilla.com/D91804
This commit is contained in:
Nicolas B. Pierron 2020-10-05 18:46:00 +00:00
Родитель e3d433f87c
Коммит 9019e072da
2 изменённых файлов: 5 добавлений и 3 удалений

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

@ -115,6 +115,8 @@ namespace jit {
// List of all ABI function signature which are using a computed function // List of all ABI function signature which are using a computed function
// pointer instead of a statically known function pointer. // pointer instead of a statically known function pointer.
#define ABIFUNCTIONSIG_LIST(_) \ #define ABIFUNCTIONSIG_LIST(_) \
_(AtomicsCompareExchangeFn) \
_(AtomicsReadWriteModifyFn) \
_(float (*)(float)) \ _(float (*)(float)) \
_(JSJitGetterOp) \ _(JSJitGetterOp) \
_(JSJitMethodOp) \ _(JSJitMethodOp) \

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

@ -7813,8 +7813,8 @@ bool CacheIRCompiler::emitAtomicsCompareExchangeResult(
masm.passABIArg(index); masm.passABIArg(index);
masm.passABIArg(expected); masm.passABIArg(expected);
masm.passABIArg(replacement); masm.passABIArg(replacement);
masm.callWithABI( masm.callWithABI(DynamicFunction<AtomicsCompareExchangeFn>(
JS_FUNC_TO_DATA_PTR(void*, AtomicsCompareExchange(elementType))); AtomicsCompareExchange(elementType)));
masm.storeCallInt32Result(scratch); masm.storeCallInt32Result(scratch);
masm.PopRegsInMask(volatileRegs); masm.PopRegsInMask(volatileRegs);
@ -7864,7 +7864,7 @@ bool CacheIRCompiler::emitAtomicsReadModifyWriteResult(
masm.passABIArg(obj); masm.passABIArg(obj);
masm.passABIArg(index); masm.passABIArg(index);
masm.passABIArg(value); masm.passABIArg(value);
masm.callWithABI(JS_FUNC_TO_DATA_PTR(void*, fn)); masm.callWithABI(DynamicFunction<AtomicsReadWriteModifyFn>(fn));
masm.storeCallInt32Result(scratch); masm.storeCallInt32Result(scratch);
masm.PopRegsInMask(volatileRegs); masm.PopRegsInMask(volatileRegs);