JavaScriptCore:
Reviewed by Mark.
- avoid static construction (and global variable access) in a smarter, more portable way,
to later enable MUTLI_THREAD mode to work on other platforms and compilers.
* kjs/CommonIdentifiers.cpp: Added. New class to hold all the shared identifiers.
(KJS::CommonIdentifiers::CommonIdentifiers):
(KJS::CommonIdentifiers::shared):
* kjs/CommonIdentifiers.h: Added.
* kjs/ExecState.h:
(KJS::ExecState::propertyNames): Hand the CommonIdentifiers instance here for easy access.
(KJS::ExecState::ExecState):
* API/JSObjectRef.cpp:
(JSObjectMakeConstructor):
* CMakeLists.txt:
* JavaScriptCore.exp:
* JavaScriptCore.pri:
* JavaScriptCore.vcproj/JavaScriptCore/JavaScriptCore.vcproj:
* JavaScriptCore.xcodeproj/project.pbxproj:
* JavaScriptCoreSources.bkl:
* bindings/runtime_array.cpp:
(RuntimeArray::getOwnPropertySlot):
(RuntimeArray::put):
* bindings/runtime_method.cpp:
(RuntimeMethod::getOwnPropertySlot):
* kjs/array_object.cpp:
(ArrayInstance::getOwnPropertySlot):
(ArrayInstance::put):
(ArrayInstance::deleteProperty):
(ArrayProtoFunc::ArrayProtoFunc):
(ArrayProtoFunc::callAsFunction):
(ArrayObjectImp::ArrayObjectImp):
* kjs/bool_object.cpp:
(BooleanPrototype::BooleanPrototype):
(BooleanProtoFunc::BooleanProtoFunc):
(BooleanProtoFunc::callAsFunction):
(BooleanObjectImp::BooleanObjectImp):
* kjs/completion.h:
(KJS::Completion::Completion):
* kjs/date_object.cpp:
(KJS::DateProtoFunc::DateProtoFunc):
(KJS::DateObjectImp::DateObjectImp):
(KJS::DateObjectFuncImp::DateObjectFuncImp):
* kjs/error_object.cpp:
(ErrorPrototype::ErrorPrototype):
(ErrorProtoFunc::ErrorProtoFunc):
(ErrorProtoFunc::callAsFunction):
(ErrorObjectImp::ErrorObjectImp):
(ErrorObjectImp::construct):
(NativeErrorPrototype::NativeErrorPrototype):
(NativeErrorImp::NativeErrorImp):
(NativeErrorImp::construct):
(NativeErrorImp::callAsFunction):
* kjs/function.cpp:
(KJS::FunctionImp::getOwnPropertySlot):
(KJS::FunctionImp::put):
(KJS::FunctionImp::deleteProperty):
(KJS::FunctionImp::getParameterName):
(KJS::DeclaredFunctionImp::construct):
(KJS::IndexToNameMap::unMap):
(KJS::Arguments::Arguments):
(KJS::ActivationImp::getOwnPropertySlot):
(KJS::ActivationImp::deleteProperty):
(KJS::GlobalFuncImp::GlobalFuncImp):
* kjs/function_object.cpp:
(FunctionPrototype::FunctionPrototype):
(FunctionProtoFunc::FunctionProtoFunc):
(FunctionProtoFunc::callAsFunction):
(FunctionObjectImp::FunctionObjectImp):
(FunctionObjectImp::construct):
* kjs/grammar.y:
* kjs/identifier.cpp:
* kjs/identifier.h:
* kjs/interpreter.cpp:
(KJS::Interpreter::init):
(KJS::Interpreter::initGlobalObject):
* kjs/interpreter.h:
* kjs/lookup.h:
* kjs/math_object.cpp:
(MathFuncImp::MathFuncImp):
* kjs/nodes.cpp:
(ArrayNode::evaluate):
(FuncDeclNode::processFuncDecl):
(FuncExprNode::evaluate):
* kjs/number_object.cpp:
(NumberPrototype::NumberPrototype):
(NumberProtoFunc::NumberProtoFunc):
(NumberObjectImp::NumberObjectImp):
* kjs/object.cpp:
(KJS::JSObject::put):
(KJS::JSObject::defaultValue):
(KJS::JSObject::hasInstance):
* kjs/object.h:
(KJS::JSObject::getOwnPropertySlot):
* kjs/object_object.cpp:
(ObjectPrototype::ObjectPrototype):
(ObjectProtoFunc::ObjectProtoFunc):
(ObjectObjectImp::ObjectObjectImp):
* kjs/regexp_object.cpp:
(RegExpPrototype::RegExpPrototype):
(RegExpProtoFunc::RegExpProtoFunc):
(RegExpObjectImp::RegExpObjectImp):
* kjs/string_object.cpp:
(KJS::StringInstance::getOwnPropertySlot):
(KJS::StringInstance::put):
(KJS::StringInstance::deleteProperty):
(KJS::StringPrototype::StringPrototype):
(KJS::StringProtoFunc::StringProtoFunc):
(KJS::StringProtoFunc::callAsFunction):
(KJS::StringObjectImp::StringObjectImp):
(KJS::StringObjectFuncImp::StringObjectFuncImp):
* kjs/testkjs.cpp:
(TestFunctionImp::TestFunctionImp):
WebCore:
Reviewed by Mark.
- avoid static construction (and global variable access) in a smarter, more portable way,
to later enable MUTLI_THREAD mode to work on other platforms and compilers.
* bindings/js/JSCustomXPathNSResolver.cpp:
(WebCore::JSCustomXPathNSResolver::lookupNamespaceURI):
* bindings/js/JSHTMLInputElementBase.cpp:
(WebCore::JSHTMLInputElementBaseFunction::JSHTMLInputElementBaseFunction):
* bindings/js/JSHTMLOptionElementConstructor.cpp:
(WebCore::JSHTMLOptionElementConstructor::JSHTMLOptionElementConstructor):
* bindings/js/JSXMLHttpRequest.cpp:
(KJS::JSXMLHttpRequestConstructorImp::JSXMLHttpRequestConstructorImp):
* bindings/js/JSXSLTProcessor.cpp:
(KJS::XSLTProcessorConstructorImp::XSLTProcessorConstructorImp):
* bindings/js/kjs_dom.cpp:
(KJS::DOMNamedNodeMap::getOwnPropertySlot):
(KJS::DOMNamedNodesCollection::getOwnPropertySlot):
* bindings/js/kjs_events.cpp:
(KJS::JSAbstractEventListener::handleEvent):
* bindings/js/kjs_html.cpp:
(KJS::HTMLElementFunction::HTMLElementFunction):
(KJS::JSHTMLCollection::getOwnPropertySlot):
* bindings/js/kjs_window.cpp:
(KJS::ScheduledAction::execute):
* bindings/objc/WebScriptObject.mm:
* bindings/scripts/CodeGeneratorJS.pm:
git-svn-id: http://svn.webkit.org/repository/webkit/trunk@20310 268f45cc-cd09-0410-ab3c-d52691b4dbfc
47 files changed