Ignore:
Timestamp:
Nov 28, 2007, 5:12:03 AM (18 years ago)
Author:
[email protected]
Message:

Roll out r28106 and r28108. These introduced a frequent assertion failure on page load and broke all non-Mac builds.

File:
1 edited

Legend:

Unmodified
Added
Removed
  • trunk/JavaScriptCore/kjs/array_instance.cpp

    r28106 r28110  
    403403}
    404404
    405 void ArrayInstance::markChildren(MarkStack& stack)
    406 {
    407     JSObject::markChildren(stack);
     405void ArrayInstance::mark()
     406{
     407    JSObject::mark();
    408408
    409409    ArrayStorage* storage = m_storage;
     
    412412    for (unsigned i = 0; i < usedVectorLength; ++i) {
    413413        JSValue* value = storage->m_vector[i];
    414         if (value)
    415             stack.push(value);
     414        if (value && !value->marked())
     415            value->mark();
    416416    }
    417417
    418418    if (SparseArrayValueMap* map = storage->m_sparseValueMap) {
    419419        SparseArrayValueMap::iterator end = map->end();
    420         for (SparseArrayValueMap::iterator it = map->begin(); it != end; ++it)
    421             stack.push(it->second);
     420        for (SparseArrayValueMap::iterator it = map->begin(); it != end; ++it) {
     421            JSValue* value = it->second;
     422            if (!value->marked())
     423                value->mark();
     424        }
    422425    }
    423426}
Note: See TracChangeset for help on using the changeset viewer.