2008-06-14 Maciej Stachowiak <mjs@apple.com>
authormjs@apple.com <mjs@apple.com@268f45cc-cd09-0410-ab3c-d52691b4dbfc>
Sat, 14 Jun 2008 22:13:18 +0000 (22:13 +0000)
committermjs@apple.com <mjs@apple.com@268f45cc-cd09-0410-ab3c-d52691b4dbfc>
Sat, 14 Jun 2008 22:13:18 +0000 (22:13 +0000)
commitff10c48fa02145762f1fd5cebe560c7096a34968
treef3b054d31d7873e27eb716acc7e3f59b60f31140
parent1b74c09a6a5d42328fb696749394fb18eda6bc9e
2008-06-14  Maciej Stachowiak  <mjs@apple.com>

        Reviewed by Oliver.

        - initialize local vars as side effect of call instead of in bytecode
        1.004x speedup on SunSpider.

        This removes just the dispatch overhead for these loads - in the
        future, dead store elimination might be able to eliminate them
        entirely.

        * VM/CodeGenerator.cpp:
        (KJS::CodeGenerator::CodeGenerator): For function blocks, don't
        emit loads of undefined for var initialization.
        * VM/Machine.cpp:
        (KJS::slideRegisterWindowForCall): Instead, initialize locals
        as part of the call.

git-svn-id: http://svn.webkit.org/repository/webkit/trunk@34541 268f45cc-cd09-0410-ab3c-d52691b4dbfc
JavaScriptCore/ChangeLog
JavaScriptCore/VM/CodeGenerator.cpp
JavaScriptCore/VM/Machine.cpp