mirror of
https://gitlab.winehq.org/wine/wine-gecko.git
synced 2024-09-13 09:24:08 -07:00
Bug 1111159. Inline the IsArrayIterator and IsStringIterator intrinsics in Ion code to speed up for-of loops. r=jandem,waldo
This commit is contained in:
parent
aa1fdd5e65
commit
a3cef658dd
@ -199,6 +199,10 @@ IonBuilder::inlineNativeCall(CallInfo &callInfo, JSFunction *target)
|
||||
return inlineIsConstructing(callInfo);
|
||||
if (native == intrinsic_SubstringKernel)
|
||||
return inlineSubstringKernel(callInfo);
|
||||
if (native == intrinsic_IsArrayIterator)
|
||||
return inlineHasClass(callInfo, &ArrayIteratorObject::class_);
|
||||
if (native == intrinsic_IsStringIterator)
|
||||
return inlineHasClass(callInfo, &StringIteratorObject::class_);
|
||||
|
||||
// TypedObject intrinsics.
|
||||
if (native == intrinsic_ObjectIsTypedObject)
|
||||
|
@ -979,6 +979,8 @@ bool intrinsic_TypeDescrIsSimpleType(JSContext *cx, unsigned argc, Value *vp);
|
||||
bool intrinsic_TypeDescrIsArrayType(JSContext *cx, unsigned argc, Value *vp);
|
||||
|
||||
bool intrinsic_IsSuspendedStarGenerator(JSContext *cx, unsigned argc, Value *vp);
|
||||
bool intrinsic_IsArrayIterator(JSContext *cx, unsigned argc, Value *vp);
|
||||
bool intrinsic_IsStringIterator(JSContext *cx, unsigned argc, Value *vp);
|
||||
|
||||
class AutoLockForExclusiveAccess
|
||||
{
|
||||
|
@ -648,8 +648,8 @@ intrinsic_NewArrayIterator(JSContext *cx, unsigned argc, Value *vp)
|
||||
return true;
|
||||
}
|
||||
|
||||
static bool
|
||||
intrinsic_IsArrayIterator(JSContext *cx, unsigned argc, Value *vp)
|
||||
bool
|
||||
js::intrinsic_IsArrayIterator(JSContext *cx, unsigned argc, Value *vp)
|
||||
{
|
||||
CallArgs args = CallArgsFromVp(argc, vp);
|
||||
MOZ_ASSERT(args.length() == 1);
|
||||
@ -677,8 +677,8 @@ intrinsic_NewStringIterator(JSContext *cx, unsigned argc, Value *vp)
|
||||
return true;
|
||||
}
|
||||
|
||||
static bool
|
||||
intrinsic_IsStringIterator(JSContext *cx, unsigned argc, Value *vp)
|
||||
bool
|
||||
js::intrinsic_IsStringIterator(JSContext *cx, unsigned argc, Value *vp)
|
||||
{
|
||||
CallArgs args = CallArgsFromVp(argc, vp);
|
||||
MOZ_ASSERT(args.length() == 1);
|
||||
|
Loading…
Reference in New Issue
Block a user