Bug 953316 - Add all the other object flags to JSObject::dump's output. r=bhackett

--HG--
extra : rebase_source : 82e7371ceb07550f918c9012c57dab937cee7214
This commit is contained in:
Jeff Walden 2013-12-20 21:53:40 -05:00
Родитель 5d732089e1
Коммит 4641b211fe
3 изменённых файлов: 16 добавлений и 0 удалений

Просмотреть файл

@ -5544,6 +5544,13 @@ JSObject::dump()
if (obj->isDelegate()) fprintf(stderr, " delegate");
if (!obj->is<ProxyObject>() && !obj->nonProxyIsExtensible()) fprintf(stderr, " not_extensible");
if (obj->isIndexed()) fprintf(stderr, " indexed");
if (obj->isBoundFunction()) fprintf(stderr, " bound_function");
if (obj->isVarObj()) fprintf(stderr, " varobj");
if (obj->watched()) fprintf(stderr, " watched");
if (obj->isIteratedSingleton()) fprintf(stderr, " iterated_singleton");
if (obj->isNewTypeUnknown()) fprintf(stderr, " new_type_unknown");
if (obj->hasUncacheableProto()) fprintf(stderr, " has_uncacheable_proto");
if (obj->hadElementsAccess()) fprintf(stderr, " had_elements_access");
if (obj->isNative()) {
if (obj->inDictionaryMode())

Просмотреть файл

@ -499,6 +499,9 @@ class JSObject : public js::ObjectImpl
* to recover this information in the object's type information after it
* is purged on GC.
*/
bool isIteratedSingleton() const {
return lastProperty()->hasObjectFlag(js::BaseShape::ITERATED_SINGLETON);
}
bool setIteratedSingleton(js::ExclusiveContext *cx) {
return setFlag(cx, js::BaseShape::ITERATED_SINGLETON);
}
@ -507,6 +510,9 @@ class JSObject : public js::ObjectImpl
* Mark an object as requiring its default 'new' type to have unknown
* properties.
*/
bool isNewTypeUnknown() const {
return lastProperty()->hasObjectFlag(js::BaseShape::NEW_TYPE_UNKNOWN);
}
static bool setNewTypeUnknown(JSContext *cx, const js::Class *clasp, JS::HandleObject obj);
/* Set a new prototype for an object with a singleton type. */

Просмотреть файл

@ -560,6 +560,9 @@ class BaseShape : public gc::BarrieredCell<BaseShape>
* be unset (except during object densification of sparse indexes), and
* are transferred from shape to shape as the object's last property
* changes.
*
* If you add a new flag here, please add appropriate code to
* JSObject::dump to dump it as part of object representation.
*/
DELEGATE = 0x8,