Ignore:
Timestamp:
Sep 15, 2008, 12:27:14 AM (17 years ago)
Author:
[email protected]
Message:

2008-09-15 Sam Weinig <[email protected]>

Reviewed by Maciej Stachowiak.

Patch for https://bugs.webkit.org/show_bug.cgi?id=20849
Cache property names for getEnumerablePropertyNames in the StructureID.

~0.5% speedup on Sunspider overall (9.7% speedup on string-fasta). ~1% speedup
on the v8 test suite.

  • kjs/JSObject.cpp: (JSC::JSObject::getPropertyNames):
  • kjs/PropertyMap.cpp: (JSC::PropertyMap::getEnumerablePropertyNames):
  • kjs/PropertyMap.h:
  • kjs/StructureID.cpp: (JSC::StructureID::StructureID): (JSC::StructureID::getEnumerablePropertyNames):
  • kjs/StructureID.h:
File:
1 edited

Legend:

Unmodified
Added
Removed
  • trunk/JavaScriptCore/kjs/PropertyMap.h

    r36325 r36429  
    3131    class JSObject;
    3232    class JSValue;
    33     class PropertyNameArray;
    3433
    3534    typedef JSValue** PropertyStorage;
     
    9594        size_t getOffset(const Identifier& propertyName, unsigned& attributes);
    9695
    97         void getEnumerablePropertyNames(PropertyNameArray&) const;
     96        void getEnumerablePropertyNames(Vector<UString::Rep*>&) const;
    9897
    9998        bool hasGetterSetterProperties() const { return m_getterSetterFlag; }
Note: See TracChangeset for help on using the changeset viewer.