Ignore:
Timestamp:
Sep 21, 2008, 8:15:52 PM (17 years ago)
Author:
[email protected]
Message:

JavaScriptCore:

2008-09-21 Maciej Stachowiak <[email protected]>

Reviewed by Darin.


  • JavaScriptCore.exp:
  • JavaScriptCore.xcodeproj/project.pbxproj:
  • VM/CTI.cpp: (JSC::CTI::privateCompileMainPass): (JSC::CTI::privateCompilePutByIdTransition):
  • VM/Machine.cpp: (JSC::jsIsObjectType): (JSC::Machine::Machine):
  • kjs/AllInOneFile.cpp:
  • kjs/JSCell.h: (JSC::JSCell::isObject): (JSC::JSCell::isString):
  • kjs/JSGlobalData.cpp: (JSC::JSGlobalData::JSGlobalData):
  • kjs/JSGlobalObject.cpp: (JSC::JSGlobalObject::reset):
  • kjs/JSGlobalObject.h: (JSC::StructureID::prototypeForLookup):
  • kjs/JSNumberCell.h: (JSC::JSNumberCell::createStructureID):
  • kjs/JSObject.cpp: (JSC::JSObject::createInheritorID):
  • kjs/JSObject.h: (JSC::JSObject::createStructureID):
  • kjs/JSString.h: (JSC::JSString::createStructureID):
  • kjs/NativeErrorConstructor.cpp: (JSC::NativeErrorConstructor::NativeErrorConstructor):
  • kjs/RegExpConstructor.cpp:
  • kjs/RegExpMatchesArray.h: Added. (JSC::RegExpMatchesArray::getOwnPropertySlot): (JSC::RegExpMatchesArray::put): (JSC::RegExpMatchesArray::deleteProperty): (JSC::RegExpMatchesArray::getPropertyNames):
  • kjs/StructureID.cpp: (JSC::StructureID::StructureID): (JSC::StructureID::addPropertyTransition): (JSC::StructureID::toDictionaryTransition): (JSC::StructureID::changePrototypeTransition): (JSC::StructureID::getterSetterTransition):
  • kjs/StructureID.h: (JSC::StructureID::create): (JSC::StructureID::typeInfo):
  • kjs/TypeInfo.h: Added. (JSC::TypeInfo::TypeInfo): (JSC::TypeInfo::type):

WebCore:

2008-09-21 Maciej Stachowiak <[email protected]>

Reviewed by Darin.


  • bindings/js/JSAudioConstructor.cpp: (WebCore::JSAudioConstructor::JSAudioConstructor):
  • bindings/js/JSCSSStyleDeclarationCustom.cpp: (WebCore::JSCSSStyleDeclaration::nameGetter):
  • bindings/js/JSDOMBinding.cpp: (WebCore::createDOMStructure):
  • bindings/js/JSDOMBinding.h: (WebCore::getDOMStructure):
  • bindings/js/JSDOMWindowShell.cpp: (WebCore::JSDOMWindowShell::JSDOMWindowShell): (WebCore::JSDOMWindowShell::setWindow):
  • bindings/js/JSEventTargetNode.cpp: (WebCore::JSEventTargetNode::createPrototype):
  • bindings/js/JSHTMLOptionElementConstructor.cpp: (WebCore::JSHTMLOptionElementConstructor::JSHTMLOptionElementConstructor):
  • bindings/js/JSImageConstructor.cpp: (WebCore::JSImageConstructor::JSImageConstructor):
  • bindings/js/JSXMLHttpRequestConstructor.cpp: (WebCore::JSXMLHttpRequestConstructor::JSXMLHttpRequestConstructor):
  • bindings/js/JSXSLTProcessorConstructor.cpp: (WebCore::JSXSLTProcessorConstructor::JSXSLTProcessorConstructor):
  • bindings/scripts/CodeGeneratorJS.pm:
File:
1 edited

Legend:

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

    r36729 r36755  
    3131#include "JSGlobalObject.h"
    3232
     33#include "JSCallbackConstructor.h"
     34#include "JSCallbackFunction.h"
     35#include "JSCallbackObject.h"
    3336#include "ArrayConstructor.h"
    3437#include "ArrayPrototype.h"
     
    5659#include "PrototypeFunction.h"
    5760#include "RegExpConstructor.h"
     61#include "RegExpMatchesArray.h"
    5862#include "RegExpPrototype.h"
    5963#include "ScopeChainMark.h"
     
    203207
    204208    d()->functionPrototype = new (exec) FunctionPrototype(exec);
    205     d()->functionStructure = StructureID::create(d()->functionPrototype);
    206     d()->callbackFunctionStructure = StructureID::create(d()->functionPrototype);
    207     d()->prototypeFunctionStructure = StructureID::create(d()->functionPrototype);
    208     d()->callbackFunctionStructure = StructureID::create(d()->functionPrototype);
     209    d()->functionStructure = JSFunction::createStructureID(d()->functionPrototype);
     210    d()->callbackFunctionStructure = JSCallbackFunction::createStructureID(d()->functionPrototype);
     211    d()->prototypeFunctionStructure = PrototypeFunction::createStructureID(d()->functionPrototype);
    209212    d()->functionPrototype->addFunctionProperties(exec, d()->prototypeFunctionStructure.get());
    210213    d()->objectPrototype = new (exec) ObjectPrototype(exec, d()->prototypeFunctionStructure.get());
    211214    d()->emptyObjectStructure = d()->objectPrototype->inheritorID();
    212215    d()->functionPrototype->setPrototype(d()->objectPrototype);
    213     d()->argumentsStructure = StructureID::create(d()->objectPrototype);
    214     d()->callbackConstructorStructure = StructureID::create(d()->objectPrototype);
    215     d()->callbackObjectStructure = StructureID::create(d()->objectPrototype);
    216     d()->arrayPrototype = new (exec) ArrayPrototype(StructureID::create(d()->objectPrototype));
    217     d()->arrayStructure = StructureID::create(d()->arrayPrototype);
    218     d()->regExpMatchesArrayStructure = StructureID::create(d()->arrayPrototype);
    219     d()->stringPrototype = new (exec) StringPrototype(exec, StructureID::create(d()->objectPrototype));
    220     d()->stringObjectStructure = StructureID::create(d()->stringPrototype);
    221     d()->booleanPrototype = new (exec) BooleanPrototype(exec, StructureID::create(d()->objectPrototype), d()->prototypeFunctionStructure.get());
    222     d()->booleanObjectStructure = StructureID::create(d()->booleanPrototype);
    223     d()->numberPrototype = new (exec) NumberPrototype(exec, StructureID::create(d()->objectPrototype), d()->prototypeFunctionStructure.get());
    224     d()->numberObjectStructure = StructureID::create(d()->numberPrototype);
    225     d()->datePrototype = new (exec) DatePrototype(exec, StructureID::create(d()->objectPrototype));
    226     d()->dateStructure = StructureID::create(d()->datePrototype);
    227     d()->regExpPrototype = new (exec) RegExpPrototype(exec, StructureID::create(d()->objectPrototype), d()->prototypeFunctionStructure.get());
    228     d()->regExpStructure = StructureID::create(d()->regExpPrototype);
    229     ErrorPrototype* errorPrototype = new (exec) ErrorPrototype(exec, StructureID::create(d()->objectPrototype), d()->prototypeFunctionStructure.get());
    230     d()->errorStructure = StructureID::create(errorPrototype);
    231 
    232     RefPtr<StructureID> nativeErrorPrototypeStructure = StructureID::create(errorPrototype);
     216    d()->argumentsStructure = Arguments::createStructureID(d()->objectPrototype);
     217    d()->callbackConstructorStructure = JSCallbackConstructor::createStructureID(d()->objectPrototype);
     218    d()->callbackObjectStructure = JSCallbackObject<JSObject>::createStructureID(d()->objectPrototype);
     219    d()->arrayPrototype = new (exec) ArrayPrototype(ArrayPrototype::createStructureID(d()->objectPrototype));
     220    d()->arrayStructure = JSArray::createStructureID(d()->arrayPrototype);
     221    d()->regExpMatchesArrayStructure = RegExpMatchesArray::createStructureID(d()->arrayPrototype);
     222    d()->stringPrototype = new (exec) StringPrototype(exec, StringPrototype::createStructureID(d()->objectPrototype));
     223    d()->stringObjectStructure = StringObject::createStructureID(d()->stringPrototype);
     224    d()->booleanPrototype = new (exec) BooleanPrototype(exec, BooleanPrototype::createStructureID(d()->objectPrototype), d()->prototypeFunctionStructure.get());
     225    d()->booleanObjectStructure = BooleanObject::createStructureID(d()->booleanPrototype);
     226    d()->numberPrototype = new (exec) NumberPrototype(exec, NumberPrototype::createStructureID(d()->objectPrototype), d()->prototypeFunctionStructure.get());
     227    d()->numberObjectStructure = NumberObject::createStructureID(d()->numberPrototype);
     228    d()->datePrototype = new (exec) DatePrototype(exec, DatePrototype::createStructureID(d()->objectPrototype));
     229    d()->dateStructure = DateInstance::createStructureID(d()->datePrototype);
     230    d()->regExpPrototype = new (exec) RegExpPrototype(exec, RegExpPrototype::createStructureID(d()->objectPrototype), d()->prototypeFunctionStructure.get());
     231    d()->regExpStructure = RegExpObject::createStructureID(d()->regExpPrototype);
     232    ErrorPrototype* errorPrototype = new (exec) ErrorPrototype(exec, ErrorPrototype::createStructureID(d()->objectPrototype), d()->prototypeFunctionStructure.get());
     233    d()->errorStructure = ErrorInstance::createStructureID(errorPrototype);
     234
     235    RefPtr<StructureID> nativeErrorPrototypeStructure = NativeErrorPrototype::createStructureID(errorPrototype);
    233236
    234237    NativeErrorPrototype* evalErrorPrototype = new (exec) NativeErrorPrototype(exec, nativeErrorPrototypeStructure, "EvalError", "EvalError");
     
    241244    // Constructors
    242245
    243     JSValue* objectConstructor = new (exec) ObjectConstructor(exec, StructureID::create(d()->functionPrototype), d()->objectPrototype);
    244     JSValue* functionConstructor = new (exec) FunctionConstructor(exec, StructureID::create(d()->functionPrototype), d()->functionPrototype);
    245     JSValue* arrayConstructor = new (exec) ArrayConstructor(exec, StructureID::create(d()->functionPrototype), d()->arrayPrototype);
    246     JSValue* stringConstructor = new (exec) StringConstructor(exec, StructureID::create(d()->functionPrototype), d()->prototypeFunctionStructure.get(), d()->stringPrototype);
    247     JSValue* booleanConstructor = new (exec) BooleanConstructor(exec, StructureID::create(d()->functionPrototype), d()->booleanPrototype);
    248     JSValue* numberConstructor = new (exec) NumberConstructor(exec, StructureID::create(d()->functionPrototype), d()->numberPrototype);
    249     JSValue* dateConstructor = new (exec) DateConstructor(exec, StructureID::create(d()->functionPrototype), d()->prototypeFunctionStructure.get(), d()->datePrototype);
    250 
    251     d()->regExpConstructor = new (exec) RegExpConstructor(exec, StructureID::create(d()->functionPrototype), d()->regExpPrototype);
    252 
    253     d()->errorConstructor = new (exec) ErrorConstructor(exec, StructureID::create(d()->functionPrototype), errorPrototype);
    254 
    255     RefPtr<StructureID> nativeErrorStructure = StructureID::create(d()->functionPrototype);
     246    JSValue* objectConstructor = new (exec) ObjectConstructor(exec, ObjectConstructor::createStructureID(d()->functionPrototype), d()->objectPrototype);
     247    JSValue* functionConstructor = new (exec) FunctionConstructor(exec, FunctionConstructor::createStructureID(d()->functionPrototype), d()->functionPrototype);
     248    JSValue* arrayConstructor = new (exec) ArrayConstructor(exec, ArrayConstructor::createStructureID(d()->functionPrototype), d()->arrayPrototype);
     249    JSValue* stringConstructor = new (exec) StringConstructor(exec, StringConstructor::createStructureID(d()->functionPrototype), d()->prototypeFunctionStructure.get(), d()->stringPrototype);
     250    JSValue* booleanConstructor = new (exec) BooleanConstructor(exec, BooleanConstructor::createStructureID(d()->functionPrototype), d()->booleanPrototype);
     251    JSValue* numberConstructor = new (exec) NumberConstructor(exec, NumberConstructor::createStructureID(d()->functionPrototype), d()->numberPrototype);
     252    JSValue* dateConstructor = new (exec) DateConstructor(exec, DateConstructor::createStructureID(d()->functionPrototype), d()->prototypeFunctionStructure.get(), d()->datePrototype);
     253
     254    d()->regExpConstructor = new (exec) RegExpConstructor(exec, RegExpConstructor::createStructureID(d()->functionPrototype), d()->regExpPrototype);
     255
     256    d()->errorConstructor = new (exec) ErrorConstructor(exec, ErrorConstructor::createStructureID(d()->functionPrototype), errorPrototype);
     257
     258    RefPtr<StructureID> nativeErrorStructure = NativeErrorConstructor::createStructureID(d()->functionPrototype);
    256259
    257260    d()->evalErrorConstructor = new (exec) NativeErrorConstructor(exec, nativeErrorStructure, evalErrorPrototype);
     
    302305    // Set global values.
    303306    GlobalPropertyInfo staticGlobals[] = {
    304         GlobalPropertyInfo(Identifier(exec, "Math"), new (exec) MathObject(exec, StructureID::create(d()->objectPrototype)), DontEnum | DontDelete),
     307        GlobalPropertyInfo(Identifier(exec, "Math"), new (exec) MathObject(exec, MathObject::createStructureID(d()->objectPrototype)), DontEnum | DontDelete),
    305308        GlobalPropertyInfo(Identifier(exec, "NaN"), jsNaN(exec), DontEnum | DontDelete),
    306309        GlobalPropertyInfo(Identifier(exec, "Infinity"), jsNumber(exec, Inf), DontEnum | DontDelete),
     
    312315    // Set global functions.
    313316
    314     d()->evalFunction = new (exec) GlobalEvalFunction(exec, StructureID::create(d()->functionPrototype), 1, exec->propertyNames().eval, globalFuncEval, this);
     317    d()->evalFunction = new (exec) GlobalEvalFunction(exec, GlobalEvalFunction::createStructureID(d()->functionPrototype), 1, exec->propertyNames().eval, globalFuncEval, this);
    315318    putDirectFunction(exec, d()->evalFunction, DontEnum);
    316319    putDirectFunction(exec, new (exec) PrototypeFunction(exec, d()->prototypeFunctionStructure.get(), 2, Identifier(exec, "parseInt"), globalFuncParseInt), DontEnum);
Note: See TracChangeset for help on using the changeset viewer.