Bug 1661256 part 9 - Convert js::ArrayShiftMoveElements callWithABI call. r=caroline

Differential Revision: https://phabricator.services.mozilla.com/D91789
This commit is contained in:
Nicolas B. Pierron 2020-10-05 16:54:24 +00:00
Родитель 18d09de854
Коммит 8f5c579336
3 изменённых файлов: 6 добавлений и 2 удалений

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

@ -10,6 +10,7 @@
#include "jslibmath.h" // js::NumberMod
#include "jsmath.h" // js::ecmaPow, js::ecmaHypot, js::hypot3, js::hypot4,
// js::ecmaAtan2, js::powi
#include "builtin/Array.h" // js::ArrayShiftMoveElements
#include "builtin/RegExp.h" // js::RegExpPrototypeOptimizableRaw,
// js::RegExpInstanceOptimizableRaw
@ -43,6 +44,7 @@ namespace jit {
#define ABIFUNCTION_LIST(_) \
ABIFUNCTION_WASM_CODEGEN_DEBUG_LIST(_) \
_(js::ArgumentsObject::finishForIonPure) \
_(js::ArrayShiftMoveElements) \
_(js::ecmaAtan2) \
_(js::ecmaHypot) \
_(js::ecmaPow) \

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

@ -10791,9 +10791,10 @@ void CodeGenerator::emitArrayPopShift(LInstruction* lir,
temps.add(elementsTemp);
saveVolatile(temps);
using Fn = void (*)(ArrayObject * arr);
masm.setupUnalignedABICall(elementsTemp);
masm.passABIArg(obj);
masm.callWithABI(JS_FUNC_TO_DATA_PTR(void*, js::ArrayShiftMoveElements));
masm.callWithABI<Fn, js::ArrayShiftMoveElements>();
restoreVolatile(temps);
// Reload elementsTemp as ArrayShiftMoveElements may have moved it.

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

@ -4240,9 +4240,10 @@ void MacroAssembler::packedArrayShift(Register array, ValueOperand output,
PushRegsInMask(volatileRegs);
using Fn = void (*)(ArrayObject * arr);
setupUnalignedABICall(temp1);
passABIArg(array);
callWithABI(JS_FUNC_TO_DATA_PTR(void*, ArrayShiftMoveElements));
callWithABI<Fn, ArrayShiftMoveElements>();
PopRegsInMask(volatileRegs);