2008-09-23 Cameron Zwarich <cwzwarich@uwaterloo.ca>
authorcwzwarich@webkit.org <cwzwarich@webkit.org@268f45cc-cd09-0410-ab3c-d52691b4dbfc>
Tue, 23 Sep 2008 10:59:42 +0000 (10:59 +0000)
committercwzwarich@webkit.org <cwzwarich@webkit.org@268f45cc-cd09-0410-ab3c-d52691b4dbfc>
Tue, 23 Sep 2008 10:59:42 +0000 (10:59 +0000)
commit2d883f79846dd224ccaf18d50d2e0545c5e3f027
treeb7d2b41a0b9c2511f79557359ab3dd83bed969c0
parent96710c2e0382e0c0c461561503bf76389d249dcc
2008-09-23  Cameron Zwarich  <cwzwarich@uwaterloo.ca>

        Reviewed by Oliver Hunt.

        Bug 20989: Aguments constructor should put 'callee' and 'length' properties in a more efficient way
        <https://bugs.webkit.org/show_bug.cgi?id=20989>

        Make special cases for the 'callee' and 'length' properties in the
        Arguments object.

        This is somewhere between a 7.8% speedup and a 10% speedup on the V8
        Raytrace benchmark, depending on whether it is run alone or with the
        other V8 benchmarks.

        * kjs/Arguments.cpp:
        (JSC::ArgumentsData::ArgumentsData):
        (JSC::Arguments::Arguments):
        (JSC::Arguments::mark):
        (JSC::Arguments::getOwnPropertySlot):
        (JSC::Arguments::put):
        (JSC::Arguments::deleteProperty):

git-svn-id: http://svn.webkit.org/repository/webkit/trunk@36804 268f45cc-cd09-0410-ab3c-d52691b4dbfc
JavaScriptCore/ChangeLog
JavaScriptCore/kjs/Arguments.cpp