void IntendedStructureChain::visitChildren(SlotVisitor& visitor)
{
    visitor.appendUnbarrieredPointer(&m_globalObject);
    visitor.appendUnbarrieredPointer(&m_head);
    for (unsigned i = m_vector.size(); i--;)
        visitor.appendUnbarrieredPointer(&m_vector[i]);
}
void SmallStrings::visitStrongReferences(SlotVisitor& visitor)
{
    visitor.appendUnbarrieredPointer(&m_emptyString);
    for (unsigned i = 0; i <= maxSingleCharacterString; ++i)
        visitor.appendUnbarrieredPointer(m_singleCharacterStrings + i);
#define JSC_COMMON_STRINGS_ATTRIBUTE_VISIT(name) visitor.appendUnbarrieredPointer(&m_##name);
    JSC_COMMON_STRINGS_EACH_NAME(JSC_COMMON_STRINGS_ATTRIBUTE_VISIT)
#undef JSC_COMMON_STRINGS_ATTRIBUTE_VISIT
}
void SmallStrings::visitStrongReferences(SlotVisitor& visitor)
{
    visitor.appendUnbarrieredPointer(&m_emptyString);
#define JSC_COMMON_STRINGS_ATTRIBUTE_VISIT(name) visitor.appendUnbarrieredPointer(&m_##name);
    JSC_COMMON_STRINGS_EACH_NAME(JSC_COMMON_STRINGS_ATTRIBUTE_VISIT)
#undef JSC_COMMON_STRINGS_ATTRIBUTE_VISIT
}
void DesiredTransition::visitChildren(SlotVisitor& visitor)
{
    visitor.appendUnbarrieredPointer(&m_codeOriginOwner);
    visitor.appendUnbarrieredPointer(&m_oldStructure);
    visitor.appendUnbarrieredPointer(&m_newStructure);
}