Ignore:
Timestamp:
Oct 16, 2009, 7:31:42 PM (16 years ago)
Author:
[email protected]
Message:

Roll out r49717 as it broke the build.

File:
1 edited

Legend:

Unmodified
Added
Removed
  • trunk/JavaScriptCore/runtime/Structure.cpp

    r49717 r49726  
    2929#include "Identifier.h"
    3030#include "JSObject.h"
    31 #include "JSPropertyNameIterator.h"
    32 #include "Lookup.h"
    3331#include "PropertyNameArray.h"
    3432#include "StructureChain.h"
     33#include "Lookup.h"
    3534#include <wtf/RefCountedLeakCounter.h>
    3635#include <wtf/RefPtr.h>
     
    161160
    162161    }
    163    
    164     if (m_enumerationCache)
    165         m_enumerationCache->setCachedStructure(0);
     162
     163    if (m_cachedPropertyNameArrayData)
     164        m_cachedPropertyNameArrayData->setCachedStructure(0);
    166165
    167166    if (m_propertyTable) {
     
    282281        insertIntoPropertyMapHashTable(entry);
    283282    }
     283}
     284
     285void Structure::clearEnumerationCache()
     286{
     287    if (m_cachedPropertyNameArrayData)
     288        m_cachedPropertyNameArrayData->setCachedStructure(0);
     289    m_cachedPropertyNameArrayData.clear();
    284290}
    285291
     
    547553size_t Structure::addPropertyWithoutTransition(const Identifier& propertyName, unsigned attributes, JSCell* specificValue)
    548554{
    549     ASSERT(!m_enumerationCache);
    550555    materializePropertyMapIfNecessary();
    551556
     
    554559    if (propertyStorageSize() > propertyStorageCapacity())
    555560        growPropertyStorageCapacity();
     561    clearEnumerationCache();
    556562    return offset;
    557563}
     
    560566{
    561567    ASSERT(isUncacheableDictionary());
    562     ASSERT(!m_enumerationCache);
    563568
    564569    materializePropertyMapIfNecessary();
     
    566571    m_isPinnedPropertyTable = true;
    567572    size_t offset = remove(propertyName);
     573    clearEnumerationCache();
    568574    return offset;
    569575}
Note: See TracChangeset for help on using the changeset viewer.