Changeset 36436 in webkit for trunk/JavaScriptCore


Ignore:
Timestamp:
Sep 15, 2008, 3:20:59 AM (17 years ago)
Author:
[email protected]
Message:

2008-09-15 Maciej Stachowiak <[email protected]>

Reviewed by Cameron Zwarich.


  • fix layout test failure introduced by fix for 20849


(The failing test was fast/js/delete-then-put.html)

  • kjs/JSObject.cpp: (JSC::JSObject::removeDirect): Clear enumeration cache in the dictionary case.
  • kjs/JSObject.h: (JSC::JSObject::putDirect): Ditto.
  • kjs/StructureID.h: (JSC::StructureID::clearEnumerationCache): Inline to handle the clear.
Location:
trunk/JavaScriptCore
Files:
4 edited

Legend:

Unmodified
Added
Removed
  • trunk/JavaScriptCore/ChangeLog

    r36435 r36436  
     12008-09-15  Maciej Stachowiak  <[email protected]>
     2
     3        Reviewed by Cameron Zwarich.
     4       
     5        - fix layout test failure introduced by fix for 20849
     6       
     7        (The failing test was fast/js/delete-then-put.html)
     8
     9        * kjs/JSObject.cpp:
     10        (JSC::JSObject::removeDirect): Clear enumeration cache
     11        in the dictionary case.
     12        * kjs/JSObject.h:
     13        (JSC::JSObject::putDirect): Ditto.
     14        * kjs/StructureID.h:
     15        (JSC::StructureID::clearEnumerationCache): Inline to handle the
     16        clear.
     17
    1182008-09-15  Maciej Stachowiak  <[email protected]>
    219
  • trunk/JavaScriptCore/kjs/JSObject.cpp

    r36429 r36436  
    494494    if (m_structureID->isDictionary()) {
    495495        m_structureID->propertyMap().remove(propertyName, m_propertyStorage);
     496        m_structureID->clearEnumerationCache();
    496497        return;
    497498    }
  • trunk/JavaScriptCore/kjs/JSObject.h

    r36417 r36436  
    389389             allocatePropertyStorage(m_structureID->propertyMap().storageSize(), m_structureID->propertyMap().size());
    390390         m_structureID->propertyMap().put(propertyName, value, attributes, checkReadOnly, this, slot, m_propertyStorage);
     391         m_structureID->clearEnumerationCache();
    391392         return;
    392393     }
  • trunk/JavaScriptCore/kjs/StructureID.h

    r36429 r36436  
    113113        static void transitionTo(StructureID* oldStructureID, StructureID* newStructureID, JSObject* slotBase);
    114114
     115        void clearEnumerationCache() { m_cachedPropertyNameArray.clear(); }
     116
    115117    private:
    116118        typedef std::pair<RefPtr<UString::Rep>, unsigned> TransitionTableKey;
Note: See TracChangeset for help on using the changeset viewer.