2008-09-14 Maciej Stachowiak <mjs@apple.com>
authormjs@apple.com <mjs@apple.com@268f45cc-cd09-0410-ab3c-d52691b4dbfc>
Mon, 15 Sep 2008 06:26:15 +0000 (06:26 +0000)
committermjs@apple.com <mjs@apple.com@268f45cc-cd09-0410-ab3c-d52691b4dbfc>
Mon, 15 Sep 2008 06:26:15 +0000 (06:26 +0000)
commit39000c183cf927600a9f3da2d9214c471039c9c0
tree6903eb57f7dcdae5193508d06a850b4673117593
parentd91172cc5c58b715221f9a06e35470d701f25c0c
2008-09-14  Maciej Stachowiak  <mjs@apple.com>

        Reviewed by Cameron Zwarich.

        - speed up JS construction by extracting "prototype" lookup so PIC applies.

        ~0.5% speedup on SunSpider
        Speeds up some of the V8 tests as well, most notably earley-boyer.

        * VM/CTI.cpp:
        (JSC::CTI::compileOpCall): Account for extra arg for prototype.
        (JSC::CTI::privateCompileMainPass): Account for increased size of op_construct.
        * VM/CodeGenerator.cpp:
        (JSC::CodeGenerator::emitConstruct): Emit separate lookup to get prototype property.
        * VM/Machine.cpp:
        (JSC::Machine::privateExecute): Expect prototype arg in op_construct.
        (JSC::Machine::cti_op_construct_JSConstruct): ditto
        (JSC::Machine::cti_op_construct_NotJSConstruct): ditto

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