Ignore:
Timestamp:
Dec 10, 2007, 9:47:41 PM (17 years ago)
Author:
[email protected]
Message:

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):
File:
1 edited

Legend:

Unmodified
Added
Removed
  • trunk/JavaScriptCore/kjs/ExecState.cpp

    r28527 r28608  
    3434// ECMA 10.2
    3535ExecState::ExecState(JSGlobalObject* globalObject, JSObject* thisV,
    36                      FunctionBodyNode* currentBody, CodeType type, ExecState* callingExec, ExecState* currentExec,
     36                     ScopeNode* scopeNode, CodeType type, ExecState* callingExec, ExecState* currentExec,
    3737                     FunctionImp* func, const List* args)
    3838    : m_globalObject(globalObject)
     
    4141    , m_callingExec(callingExec)
    4242    , m_savedExec(currentExec)
    43     , m_currentBody(currentBody)
     43    , m_scopeNode(scopeNode)
    4444    , m_function(func)
    4545    , m_arguments(args)
     
    7878    }
    7979
    80     if (currentBody)
     80    if (scopeNode)
    8181        m_globalObject->setCurrentExec(this);
    8282}
Note: See TracChangeset for help on using the changeset viewer.