2008-10-07 Gavin Barraclough <barraclough@apple.com>
authorbarraclough@apple.com <barraclough@apple.com@268f45cc-cd09-0410-ab3c-d52691b4dbfc>
Tue, 7 Oct 2008 20:27:50 +0000 (20:27 +0000)
committerbarraclough@apple.com <barraclough@apple.com@268f45cc-cd09-0410-ab3c-d52691b4dbfc>
Tue, 7 Oct 2008 20:27:50 +0000 (20:27 +0000)
commit79c9ae16f9c8e1d3f6513fefe900293b237ff2aa
tree62cc27bf18d3d081b2aa5240da48adbe850c7342
parent6eec79f9f4ee3025129e43b45059f1f35d7c0873
2008-10-07  Gavin Barraclough  <barraclough@apple.com>

        Reviewed by Oliver Hunt.

        Move callframe initialization into JIT code, again.

        As a part of the restructuring the second result from functions is now
        returned in edx, allowing the new value of 'r' to be returned via a
        register, and stored to the stack from JIT code, too.

        4.5% progression on v8-tests. (3% in their harness)

        * VM/CTI.cpp:
        (JSC::):
        (JSC::CTI::emitCall):
        (JSC::CTI::compileOpCall):
        (JSC::CTI::privateCompileMainPass):
        (JSC::CTI::privateCompileSlowCases):
        (JSC::CTI::privateCompile):
        * VM/CTI.h:
        (JSC::CallRecord::CallRecord):
        * VM/Machine.cpp:
        (JSC::Machine::cti_op_call_JSFunction):
        (JSC::Machine::cti_op_construct_JSConstruct):
        (JSC::Machine::cti_op_resolve_func):
        (JSC::Machine::cti_op_post_inc):
        (JSC::Machine::cti_op_resolve_with_base):
        (JSC::Machine::cti_op_post_dec):
        * VM/Machine.h:
        * kjs/JSFunction.h:
        * kjs/ScopeChain.h:

git-svn-id: http://svn.webkit.org/repository/webkit/trunk@37386 268f45cc-cd09-0410-ab3c-d52691b4dbfc
JavaScriptCore/ChangeLog
JavaScriptCore/VM/CTI.cpp
JavaScriptCore/VM/CTI.h
JavaScriptCore/VM/Machine.cpp
JavaScriptCore/VM/Machine.h
JavaScriptCore/kjs/JSFunction.h
JavaScriptCore/kjs/ScopeChain.h