namespace JSC {
ASSERT_CLASS_FITS_IN_CELL(JSWrapperObject);
+ASSERT_HAS_TRIVIAL_DESTRUCTOR(JSWrapperObject);
-void JSWrapperObject::markChildren(MarkStack& markStack)
+void JSWrapperObject::visitChildren(JSCell* cell, SlotVisitor& visitor)
{
- JSObject::markChildren(markStack);
- if (m_internalValue)
- markStack.append(m_internalValue);
+ JSWrapperObject* thisObject = jsCast<JSWrapperObject*>(cell);
+ ASSERT_GC_OBJECT_INHERITS(thisObject, &s_info);
+ COMPILE_ASSERT(StructureFlags & OverridesVisitChildren, OverridesVisitChildrenWithoutSettingFlag);
+ ASSERT(thisObject->structure()->typeInfo().overridesVisitChildren());
+ JSObject::visitChildren(thisObject, visitor);
+ if (thisObject->m_internalValue)
+ visitor.append(&thisObject->m_internalValue);
}
} // namespace JSC