Bug 902264 - Part 1: Degeneralize GetPropertyIC Array.length stubs. (r=jandem)

This commit is contained in:
Eric Faust 2013-08-10 22:20:36 -07:00
parent fa5905ac4e
commit ed53dd5da3
2 changed files with 1 additions and 11 deletions

View File

@ -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;

View File

@ -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_;
}