void JSDOMGlobalObject::mark() { Base::mark(); JSDOMStructureMap::iterator end = structures().end(); for (JSDOMStructureMap::iterator it = structures().begin(); it != end; ++it) it->second->mark(); JSDOMConstructorMap::iterator end2 = constructors().end(); for (JSDOMConstructorMap::iterator it2 = constructors().begin(); it2 != end2; ++it2) { if (!it2->second->marked()) it2->second->mark(); } }
// main int main(int argc, char *argv[]) { //pointers(); foo(); structures(); return 0; }
void JSDOMGlobalObject::visitChildren(SlotVisitor& visitor) { ASSERT_GC_OBJECT_INHERITS(this, &s_info); COMPILE_ASSERT(StructureFlags & OverridesVisitChildren, OverridesVisitChildrenWithoutSettingFlag); ASSERT(structure()->typeInfo().overridesVisitChildren()); Base::visitChildren(visitor); JSDOMStructureMap::iterator end = structures().end(); for (JSDOMStructureMap::iterator it = structures().begin(); it != end; ++it) visitor.append(&it->second); JSDOMConstructorMap::iterator end2 = constructors().end(); for (JSDOMConstructorMap::iterator it2 = constructors().begin(); it2 != end2; ++it2) visitor.append(&it2->second); if (m_injectedScript) visitor.append(&m_injectedScript); }