2008-09-15 Sam Weinig <sam@webkit.org>
authorweinig@apple.com <weinig@apple.com@268f45cc-cd09-0410-ab3c-d52691b4dbfc>
Mon, 15 Sep 2008 07:27:14 +0000 (07:27 +0000)
committerweinig@apple.com <weinig@apple.com@268f45cc-cd09-0410-ab3c-d52691b4dbfc>
Mon, 15 Sep 2008 07:27:14 +0000 (07:27 +0000)
commit503d9991908f4bddbe13aa5bc7f29ea4ffd00635
tree57ca46c10996144f826b7ebe37022ee7cadb3a45
parent065494ed1c8c144b734bdfe3d07de9dfc4124bb9
2008-09-15  Sam Weinig  <sam@webkit.org>

        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:

git-svn-id: http://svn.webkit.org/repository/webkit/trunk@36429 268f45cc-cd09-0410-ab3c-d52691b4dbfc
JavaScriptCore/ChangeLog
JavaScriptCore/kjs/JSObject.cpp
JavaScriptCore/kjs/PropertyMap.cpp
JavaScriptCore/kjs/PropertyMap.h
JavaScriptCore/kjs/StructureID.cpp
JavaScriptCore/kjs/StructureID.h