Ignore:
Timestamp:
Dec 5, 2007, 6:31:41 PM (17 years ago)
Author:
[email protected]
Message:

JavaScriptCore:

Reviewed by Darin Adler.

Third step in refactoring JSGlobalObject: Moved data members and
functions accessing data members from Interpreter to JSGlobalObject.
Changed Interpreter member functions to static functions.


This resolves a bug in global object bootstrapping, where the global
ExecState could be used when uninitialized.


This is a big change, but it's mostly code motion and renaming.


Layout and JS tests, and testjsglue and testapi, pass. SunSpider reports
a .7% regression, but Shark sees no difference related to this patch,
and SunSpider reported a .7% speedup from an earlier step in this
refactoring, so I think it's fair to call that a wash.

JavaScriptGlue:

Reviewed by Darin Adler.

Third step in refactoring JSGlobalObject: Moved data members and data
member access from Interpreter to JSGlobalObject. Replaced JSInterpreter
subclass with JSGlobalObject subclass.


  • JSRun.cpp: (JSRun::JSRun): (JSRun::Evaluate): (JSRun::CheckSyntax):
  • JSRun.h: (JSGlueGlobalObject::JSGlueGlobalObject):
  • JSUtils.cpp: (KJSValueToCFTypeInternal):
  • JSValueWrapper.cpp: (getThreadGlobalExecState):

WebCore:

Reviewed by Darin Adler.

Third step in refactoring JSGlobalObject: Moved data members and data
member access from Interpreter to JSGlobalObject. Changed Interpreter
member functions to static functions. Same for the subclass,
ScriptInterpreter.


This is a big change, but it's mostly code motion and renaming.

WebKit/mac:

Reviewed by Darin Adler.

Third step in refactoring JSGlobalObject: Moved data members and data
member access from Interpreter to JSGlobalObject.


  • WebView/WebFrame.mm: (-[WebFrame _attachScriptDebugger]):

WebKit/win:

Reviewed by Darin Adler.

Third step in refactoring JSGlobalObject: Moved data members and data
member access from Interpreter to JSGlobalObject.


  • WebFrame.cpp: (WebFrame::globalContext): (WebFrame::attachScriptDebugger): (WebFrame::windowObjectCleared):
  • WebScriptDebugger.cpp: (WebScriptDebugger::WebScriptDebugger):
File:
1 edited

Legend:

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

    r28328 r28468  
    2828#include "Parser.h"
    2929#include "collector.h"
     30#include "interpreter.h"
    3031#include "nodes.h"
    3132#include "object.h"
     
    165166
    166167      stopWatch.start();
    167       exec->dynamicInterpreter()->evaluate(fileName, 0, script.data());
     168      Interpreter::evaluate(exec->dynamicGlobalObject()->globalExec(), fileName, 0, script.data());
    168169      stopWatch.stop();
    169170     
     
    177178        return throwError(exec, GeneralError, "Could not open file.");
    178179
    179       exec->dynamicInterpreter()->evaluate(fileName, 0, script.data());
     180      Interpreter::evaluate(exec->dynamicGlobalObject()->globalExec(), fileName, 0, script.data());
    180181
    181182      return jsUndefined();
     
    225226{
    226227  GlobalImp* global = new GlobalImp;
    227   Interpreter* interp = new Interpreter;
    228   interp->setGlobalObject(global); // global now owns interp.
    229228
    230229  // add debug() function
     
    276275      prettyPrintScript(fileName, script);
    277276    else {
    278       Completion completion = globalObject->interpreter()->evaluate(fileName, 0, script.data());
     277      Completion completion = Interpreter::evaluate(globalObject->globalExec(), fileName, 0, script.data());
    279278      success = success && completion.complType() != Throw;
    280279    }
Note: See TracChangeset for help on using the changeset viewer.