зеркало из https://github.com/mozilla/gecko-dev.git
Bug 1661256 part 9 - Convert js::ArrayShiftMoveElements callWithABI call. r=caroline
Differential Revision: https://phabricator.services.mozilla.com/D91789
This commit is contained in:
Родитель
18d09de854
Коммит
8f5c579336
|
@ -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);
|
||||
|
||||
|
|
Загрузка…
Ссылка в новой задаче