void JSObject::mark()
{
    JSOBJECT_MARK_BEGIN();

    JSCell::mark();
    m_structureID->mark();

    size_t storageSize = m_structureID->propertyStorageSize();
    for (size_t i = 0; i < storageSize; ++i) {
        JSValue* v = m_propertyStorage[i];
        if (!v->marked())
            v->mark();
    }

    JSOBJECT_MARK_END();
}
Example #2
0
void JSObject::mark()
{
    JSOBJECT_MARK_BEGIN();

    JSCell::mark();
    m_structureID->mark();

    unsigned storageSize = m_structureID->propertyMap().markingCount();
    if (storageSize) {
        for (unsigned i = 0; i < storageSize; ++i) {
            JSValue* v = m_propertyStorage[i];
            if (!v->marked())
                v->mark();
        }
    }

    JSOBJECT_MARK_END();
}