Bug 1661256 part 20 - Convert calls to *IteratorObject callWithABI calls. r=tcampbell

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

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

@ -11,6 +11,8 @@
#include "jsmath.h" // js::ecmaPow, js::ecmaHypot, js::hypot3, js::hypot4,
// js::ecmaAtan2, js::UnaryMathFunctionType, js::powi
#include "builtin/Array.h" // js::ArrayShiftMoveElements
#include "builtin/MapObject.h" // js::MapIteratorObject::next,
// js::SetIteratorObject::next
#include "builtin/RegExp.h" // js::RegExpPrototypeOptimizableRaw,
// js::RegExpInstanceOptimizableRaw
@ -78,10 +80,12 @@ namespace jit {
_(js::jit::InvalidationBailout) \
_(js::jit::Printf0) \
_(js::jit::Printf1) \
_(js::MapIteratorObject::next) \
_(js::NumberMod) \
_(js::powi) \
_(js::RegExpInstanceOptimizableRaw) \
_(js::RegExpPrototypeOptimizableRaw) \
_(js::SetIteratorObject::next) \
_(js::TraceLogStartEventPrivate) \
_(js::TraceLogStopEventPrivate)

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

@ -4044,9 +4044,11 @@ bool CacheIRCompiler::emitGetNextMapSetEntryForIteratorResult(
masm.passABIArg(iter);
masm.passABIArg(resultArr);
if (isMap) {
masm.callWithABI(JS_FUNC_TO_DATA_PTR(void*, MapIteratorObject::next));
using Fn = bool (*)(MapIteratorObject * iter, ArrayObject * resultPairObj);
masm.callWithABI<Fn, MapIteratorObject::next>();
} else {
masm.callWithABI(JS_FUNC_TO_DATA_PTR(void*, SetIteratorObject::next));
using Fn = bool (*)(SetIteratorObject * iter, ArrayObject * resultObj);
masm.callWithABI<Fn, SetIteratorObject::next>();
}
masm.storeCallBoolResult(scratch);