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