/* static */ NativeObject * js::ForOfPIC::createForOfPICObject(JSContext *cx, Handle<GlobalObject*> global) { assertSameCompartment(cx, global); NativeObject *obj = NewNativeObjectWithGivenProto(cx, &ForOfPIC::jsclass, nullptr, global); if (!obj) return nullptr; ForOfPIC::Chain *chain = cx->new_<ForOfPIC::Chain>(); if (!chain) return nullptr; obj->setPrivate(chain); return obj; }
/* static */ GlobalObject::DebuggerVector* GlobalObject::getOrCreateDebuggers(JSContext* cx, Handle<GlobalObject*> global) { assertSameCompartment(cx, global); DebuggerVector* debuggers = global->getDebuggers(); if (debuggers) return debuggers; NativeObject* obj = NewNativeObjectWithGivenProto(cx, &GlobalDebuggees_class, nullptr); if (!obj) return nullptr; debuggers = cx->new_<DebuggerVector>(); if (!debuggers) return nullptr; obj->setPrivate(debuggers); global->setReservedSlot(DEBUGGERS, ObjectValue(*obj)); return debuggers; }