mirror of
https://gitlab.winehq.org/wine/wine-gecko.git
synced 2024-09-13 09:24:08 -07:00
Bug 902264 - Part 1: Degeneralize GetPropertyIC Array.length stubs. (r=jandem)
This commit is contained in:
parent
fa5905ac4e
commit
ed53dd5da3
@ -1118,8 +1118,7 @@ GetPropertyIC::canAttachNative(JSContext *cx, HandleObject obj, HandlePropertyNa
|
||||
// they can be effectful. This is handled by allowGetters()
|
||||
|
||||
// Optimize Array.length if possible
|
||||
if (obj->is<ArrayObject>() && !hasArrayLengthStub() &&
|
||||
cx->names().length == name)
|
||||
if (obj->is<ArrayObject>() && cx->names().length == name)
|
||||
{
|
||||
return CanAttachArrayLength;
|
||||
}
|
||||
@ -1173,9 +1172,6 @@ GetPropertyIC::tryAttachNative(JSContext *cx, IonScript *ion, HandleObject obj,
|
||||
if (!GenerateArrayLength(cx, masm, attacher, obj, object(), output()))
|
||||
return false;
|
||||
|
||||
JS_ASSERT(!hasArrayLengthStub_);
|
||||
hasArrayLengthStub_ = true;
|
||||
|
||||
attachKind = "array length";
|
||||
break;
|
||||
default:
|
||||
@ -1699,7 +1695,6 @@ void
|
||||
GetPropertyIC::reset()
|
||||
{
|
||||
RepatchIonCache::reset();
|
||||
hasArrayLengthStub_ = false;
|
||||
hasTypedArrayLengthStub_ = false;
|
||||
hasStrictArgumentsLengthStub_ = false;
|
||||
hasNormalArgumentsLengthStub_ = false;
|
||||
|
@ -505,7 +505,6 @@ class GetPropertyIC : public RepatchIonCache
|
||||
PropertyName *name_;
|
||||
TypedOrValueRegister output_;
|
||||
bool allowGetters_ : 1;
|
||||
bool hasArrayLengthStub_ : 1;
|
||||
bool hasTypedArrayLengthStub_ : 1;
|
||||
bool hasStrictArgumentsLengthStub_ : 1;
|
||||
bool hasNormalArgumentsLengthStub_ : 1;
|
||||
@ -521,7 +520,6 @@ class GetPropertyIC : public RepatchIonCache
|
||||
name_(name),
|
||||
output_(output),
|
||||
allowGetters_(allowGetters),
|
||||
hasArrayLengthStub_(false),
|
||||
hasTypedArrayLengthStub_(false),
|
||||
hasStrictArgumentsLengthStub_(false),
|
||||
hasNormalArgumentsLengthStub_(false),
|
||||
@ -545,9 +543,6 @@ class GetPropertyIC : public RepatchIonCache
|
||||
bool allowGetters() const {
|
||||
return allowGetters_ && !idempotent();
|
||||
}
|
||||
bool hasArrayLengthStub() const {
|
||||
return hasArrayLengthStub_;
|
||||
}
|
||||
bool hasTypedArrayLengthStub() const {
|
||||
return hasTypedArrayLengthStub_;
|
||||
}
|
||||
|
Loading…
Reference in New Issue
Block a user