Revert 1320408 part 15: Make addDataProperty static.
parent
7d81cd2f2b
commit
35b20eff09
|
@ -4062,7 +4062,7 @@ AnalyzePoppedThis(JSContext* cx, DPAConstraintInfo& constraintInfo, ObjectGroup*
|
|||
// Add the property to the object, being careful not to update type information.
|
||||
DebugOnly<unsigned> slotSpan = baseobj->slotSpan();
|
||||
MOZ_ASSERT(!baseobj->containsPure(id));
|
||||
if (!NativeObject::addDataProperty(cx, baseobj, id, baseobj->slotSpan(), JSPROP_ENUMERATE))
|
||||
if (!baseobj->addDataProperty(cx, id, baseobj->slotSpan(), JSPROP_ENUMERATE))
|
||||
return false;
|
||||
MOZ_ASSERT(baseobj->slotSpan() != slotSpan);
|
||||
MOZ_ASSERT(!baseobj->inDictionaryMode());
|
||||
|
|
|
@ -2906,8 +2906,8 @@ StringObject::assignInitialShape(ExclusiveContext* cx, Handle<StringObject*> obj
|
|||
{
|
||||
MOZ_ASSERT(obj->empty());
|
||||
|
||||
return NativeObject::addDataProperty(cx, obj, cx->names().length, LENGTH_SLOT,
|
||||
JSPROP_PERMANENT | JSPROP_READONLY);
|
||||
return obj->addDataProperty(cx, cx->names().length, LENGTH_SLOT,
|
||||
JSPROP_PERMANENT | JSPROP_READONLY);
|
||||
}
|
||||
|
||||
JSObject*
|
||||
|
|
|
@ -29,11 +29,11 @@ js::ErrorObject::assignInitialShape(ExclusiveContext* cx, Handle<ErrorObject*> o
|
|||
{
|
||||
MOZ_ASSERT(obj->empty());
|
||||
|
||||
if (!NativeObject::addDataProperty(cx, obj, cx->names().fileName, FILENAME_SLOT, 0))
|
||||
if (!obj->addDataProperty(cx, cx->names().fileName, FILENAME_SLOT, 0))
|
||||
return nullptr;
|
||||
if (!NativeObject::addDataProperty(cx, obj, cx->names().lineNumber, LINENUMBER_SLOT, 0))
|
||||
if (!obj->addDataProperty(cx, cx->names().lineNumber, LINENUMBER_SLOT, 0))
|
||||
return nullptr;
|
||||
return NativeObject::addDataProperty(cx, obj, cx->names().columnNumber, COLUMNNUMBER_SLOT, 0);
|
||||
return obj->addDataProperty(cx, cx->names().columnNumber, COLUMNNUMBER_SLOT, 0);
|
||||
}
|
||||
|
||||
/* static */ bool
|
||||
|
@ -57,7 +57,7 @@ js::ErrorObject::init(JSContext* cx, Handle<ErrorObject*> obj, JSExnType type,
|
|||
// |new Error()|.
|
||||
RootedShape messageShape(cx);
|
||||
if (message) {
|
||||
messageShape = NativeObject::addDataProperty(cx, obj, cx->names().message, MESSAGE_SLOT, 0);
|
||||
messageShape = obj->addDataProperty(cx, cx->names().message, MESSAGE_SLOT, 0);
|
||||
if (!messageShape)
|
||||
return false;
|
||||
MOZ_ASSERT(messageShape->slot() == MESSAGE_SLOT);
|
||||
|
|
|
@ -1021,22 +1021,23 @@ NativeObject::freeSlot(ExclusiveContext* cx, uint32_t slot)
|
|||
setSlot(slot, UndefinedValue());
|
||||
}
|
||||
|
||||
/* static */ Shape*
|
||||
NativeObject::addDataProperty(ExclusiveContext* cx, HandleNativeObject obj,
|
||||
jsid idArg, uint32_t slot, unsigned attrs)
|
||||
Shape*
|
||||
NativeObject::addDataProperty(ExclusiveContext* cx, jsid idArg, uint32_t slot, unsigned attrs)
|
||||
{
|
||||
MOZ_ASSERT(!(attrs & (JSPROP_GETTER | JSPROP_SETTER)));
|
||||
RootedNativeObject self(cx, this);
|
||||
RootedId id(cx, idArg);
|
||||
return addProperty(cx, obj, id, nullptr, nullptr, slot, attrs, 0);
|
||||
return addProperty(cx, self, id, nullptr, nullptr, slot, attrs, 0);
|
||||
}
|
||||
|
||||
/* static */ Shape*
|
||||
NativeObject::addDataProperty(ExclusiveContext* cx, HandleNativeObject obj,
|
||||
HandlePropertyName name, uint32_t slot, unsigned attrs)
|
||||
Shape*
|
||||
NativeObject::addDataProperty(ExclusiveContext* cx, HandlePropertyName name,
|
||||
uint32_t slot, unsigned attrs)
|
||||
{
|
||||
MOZ_ASSERT(!(attrs & (JSPROP_GETTER | JSPROP_SETTER)));
|
||||
RootedNativeObject self(cx, this);
|
||||
RootedId id(cx, NameToId(name));
|
||||
return addProperty(cx, obj, id, nullptr, nullptr, slot, attrs, 0);
|
||||
return addProperty(cx, self, id, nullptr, nullptr, slot, attrs, 0);
|
||||
}
|
||||
|
||||
template <AllowGC allowGC>
|
||||
|
|
|
@ -746,10 +746,10 @@ class NativeObject : public ShapedObject
|
|||
bool allowDictionary = true);
|
||||
|
||||
/* Add a data property whose id is not yet in this scope. */
|
||||
static Shape* addDataProperty(ExclusiveContext* cx, HandleNativeObject obj,
|
||||
jsid id_, uint32_t slot, unsigned attrs);
|
||||
static Shape* addDataProperty(ExclusiveContext* cx, HandleNativeObject obj,
|
||||
HandlePropertyName name, uint32_t slot, unsigned attrs);
|
||||
Shape* addDataProperty(ExclusiveContext* cx,
|
||||
jsid id_, uint32_t slot, unsigned attrs);
|
||||
Shape* addDataProperty(ExclusiveContext* cx, HandlePropertyName name,
|
||||
uint32_t slot, unsigned attrs);
|
||||
|
||||
/* Add or overwrite a property for id in this scope. */
|
||||
static Shape*
|
||||
|
|
|
@ -299,8 +299,7 @@ RegExpObject::assignInitialShape(ExclusiveContext* cx, Handle<RegExpObject*> sel
|
|||
JS_STATIC_ASSERT(LAST_INDEX_SLOT == 0);
|
||||
|
||||
/* The lastIndex property alone is writable but non-configurable. */
|
||||
return NativeObject::addDataProperty(cx, self, cx->names().lastIndex, LAST_INDEX_SLOT,
|
||||
JSPROP_PERMANENT);
|
||||
return self->addDataProperty(cx, cx->names().lastIndex, LAST_INDEX_SLOT, JSPROP_PERMANENT);
|
||||
}
|
||||
|
||||
void
|
||||
|
|
Loading…
Reference in New Issue