зеркало из https://github.com/mozilla/gecko-dev.git
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:
Родитель
e3d433f87c
Коммит
9019e072da
|
@ -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);
|
||||||
|
|
Загрузка…
Ссылка в новой задаче