Bug 1661256 part 19 - Convert js::ExecuteRegExpAtomRaw callWithABI call. r=iain

Differential Revision: https://phabricator.services.mozilla.com/D91799
This commit is contained in:
Nicolas B. Pierron 2020-10-05 16:55:51 +00:00
Родитель d3688b138d
Коммит 198adb74f1
2 изменённых файлов: 6 добавлений и 1 удалений

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

@ -28,6 +28,7 @@
#include "js/Conversions.h" // JS::ToInt32
#include "vm/ArgumentsObject.h" // js::ArgumentsObject::finishForIonPure
#include "vm/RegExpShared.h" // js::ExecuteRegExpAtomRaw
#include "vm/TraceLogging.h" // js::TraceLogStartEventPrivate,
// js::TraceLogStartEvent,
// js::TraceLogStopEventPrivate
@ -57,6 +58,7 @@ namespace jit {
_(js::ecmaAtan2) \
_(js::ecmaHypot) \
_(js::ecmaPow) \
_(js::ExecuteRegExpAtomRaw) \
_(js::hypot3) \
_(js::hypot4) \
_(js::irregexp::CaseInsensitiveCompareNonUnicode) \

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

@ -2264,12 +2264,15 @@ static bool PrepareAndExecuteRegExp(JSContext* cx, MacroAssembler& masm,
masm.computeEffectiveAddress(matchPairsAddress, temp3);
masm.PushRegsInMask(regsToSave);
using Fn = RegExpRunStatus (*)(RegExpShared * re, JSLinearString * input,
size_t start, MatchPairs * matchPairs);
masm.setupUnalignedABICall(temp2);
masm.passABIArg(regexpReg);
masm.passABIArg(input);
masm.passABIArg(lastIndex);
masm.passABIArg(temp3);
masm.callWithABI(JS_FUNC_TO_DATA_PTR(void*, ExecuteRegExpAtomRaw));
masm.callWithABI<Fn, js::ExecuteRegExpAtomRaw>();
masm.storeCallInt32Result(temp1);
masm.PopRegsInMask(regsToSave);