JavaScriptCore:
authorggaren@apple.com <ggaren@apple.com@268f45cc-cd09-0410-ab3c-d52691b4dbfc>
Tue, 11 Dec 2007 05:47:41 +0000 (05:47 +0000)
committerggaren@apple.com <ggaren@apple.com@268f45cc-cd09-0410-ab3c-d52691b4dbfc>
Tue, 11 Dec 2007 05:47:41 +0000 (05:47 +0000)
commit9e02541e90264a35b133f24dedb7e46280cdb086
treed00143140651682575e372c75325806345ffb577
parent1796a4ffd92a3bc4f8b45e747874e39f015d9579
JavaScriptCore:

        Reviewed by Sam Weinig.

        Split this:

                            FunctionBodyNode
                                    ^
                                    |
                                ProgramNode

        into this:

                                ScopeNode
                ^                   ^                   ^
                |                   |                   |
        FunctionBodyNode        ProgramNode         EvalNode

        in preparation for specializing each class more while optimizing global
        variable access.

        Also removed some cruft from the FunctionBodyNode interface to simplify
        things.

        SunSpider says this patch is a .8% speedup, which seems reasonable,
        since it eliminates a few branches and adds KJS_FAST_CALL in a few
        places.

        Layout tests and JS tests pass. Also, this baby builds on Windows! (Qt
        mileage may vary...)

WebCore:

        Reviewed by Sam Weinig.

        Updated for rename in JavaScriptCore.

        * bridge/mac/WebCoreScriptDebugger.mm:
        (-[WebCoreScriptCallFrame scopeChain]):
        (-[WebCoreScriptCallFrame functionName]):
        (-[WebCoreScriptCallFrame evaluateWebScript:]):

WebKit/win:

        Reviewed by Sam Weinig.

        Updated for rename in JavaScriptCore.

        * WebScriptCallFrame.cpp:
        (WebScriptCallFrame::functionName):
        (WebScriptCallFrame::valueByEvaluatingJavaScriptFromString):

git-svn-id: https://svn.webkit.org/repository/webkit/trunk@28608 268f45cc-cd09-0410-ab3c-d52691b4dbfc
13 files changed:
JavaScriptCore/ChangeLog
JavaScriptCore/JavaScriptCore.exp
JavaScriptCore/kjs/ExecState.cpp
JavaScriptCore/kjs/ExecState.h
JavaScriptCore/kjs/JSVariableObject.h
JavaScriptCore/kjs/function.cpp
JavaScriptCore/kjs/function_object.cpp
JavaScriptCore/kjs/nodes.cpp
JavaScriptCore/kjs/nodes.h
WebCore/ChangeLog
WebCore/bridge/mac/WebCoreScriptDebugger.mm
WebKit/win/ChangeLog
WebKit/win/WebScriptCallFrame.cpp