Changeset 49726 in webkit for trunk/JavaScriptCore/runtime/Structure.cpp
- Timestamp:
- Oct 16, 2009, 7:31:42 PM (16 years ago)
- File:
-
- 1 edited
Legend:
- Unmodified
- Added
- Removed
-
trunk/JavaScriptCore/runtime/Structure.cpp
r49717 r49726 29 29 #include "Identifier.h" 30 30 #include "JSObject.h" 31 #include "JSPropertyNameIterator.h"32 #include "Lookup.h"33 31 #include "PropertyNameArray.h" 34 32 #include "StructureChain.h" 33 #include "Lookup.h" 35 34 #include <wtf/RefCountedLeakCounter.h> 36 35 #include <wtf/RefPtr.h> … … 161 160 162 161 } 163 164 if (m_ enumerationCache)165 m_ enumerationCache->setCachedStructure(0);162 163 if (m_cachedPropertyNameArrayData) 164 m_cachedPropertyNameArrayData->setCachedStructure(0); 166 165 167 166 if (m_propertyTable) { … … 282 281 insertIntoPropertyMapHashTable(entry); 283 282 } 283 } 284 285 void Structure::clearEnumerationCache() 286 { 287 if (m_cachedPropertyNameArrayData) 288 m_cachedPropertyNameArrayData->setCachedStructure(0); 289 m_cachedPropertyNameArrayData.clear(); 284 290 } 285 291 … … 547 553 size_t Structure::addPropertyWithoutTransition(const Identifier& propertyName, unsigned attributes, JSCell* specificValue) 548 554 { 549 ASSERT(!m_enumerationCache);550 555 materializePropertyMapIfNecessary(); 551 556 … … 554 559 if (propertyStorageSize() > propertyStorageCapacity()) 555 560 growPropertyStorageCapacity(); 561 clearEnumerationCache(); 556 562 return offset; 557 563 } … … 560 566 { 561 567 ASSERT(isUncacheableDictionary()); 562 ASSERT(!m_enumerationCache);563 568 564 569 materializePropertyMapIfNecessary(); … … 566 571 m_isPinnedPropertyTable = true; 567 572 size_t offset = remove(propertyName); 573 clearEnumerationCache(); 568 574 return offset; 569 575 }
Note:
See TracChangeset
for help on using the changeset viewer.