source: webkit/trunk/JavaScriptCore/JavaScriptCore.pri@ 20310

Last change on this file since 20310 was 20310, checked in by mjs, 18 years ago

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:
File size: 3.1 KB
Line 
1# JavaScriptCore - Qt4 build info
2VPATH += $$PWD
3
4INCLUDEPATH += tmp
5INCLUDEPATH += $$PWD $$PWD/kjs $$PWD/bindings $$PWD/bindings/c $$PWD/bindings/qt $$PWD/wtf
6DEFINES -= KJS_IDENTIFIER_HIDE_GLOBALS
7DEFINES += BUILDING_QT__
8
9include(pcre/pcre.pri)
10
11LUT_FILES += \
12 kjs/date_object.cpp \
13 kjs/number_object.cpp \
14 kjs/string_object.cpp \
15 kjs/array_object.cpp \
16 kjs/math_object.cpp \
17 kjs/regexp_object.cpp
18
19KEYWORDLUT_FILES += \
20 kjs/keywords.table
21
22KJSBISON += \
23 kjs/grammar.y
24
25SOURCES += \
26 wtf/TCSystemAlloc.cpp \
27 wtf/Assertions.cpp \
28 wtf/HashTable.cpp \
29 wtf/FastMalloc.cpp \
30 bindings/NP_jsobject.cpp \
31 bindings/npruntime.cpp \
32 bindings/runtime_array.cpp \
33 bindings/runtime.cpp \
34 bindings/runtime_method.cpp \
35 bindings/runtime_object.cpp \
36 bindings/runtime_root.cpp \
37 bindings/c/c_class.cpp \
38 bindings/c/c_instance.cpp \
39 bindings/c/c_runtime.cpp \
40 bindings/c/c_utility.cpp \
41 bindings/qt/qt_class.cpp \
42 bindings/qt/qt_instance.cpp \
43 bindings/qt/qt_runtime.cpp \
44 kjs/DateMath.cpp \
45 kjs/JSWrapperObject.cpp \
46 kjs/PropertyNameArray.cpp \
47 kjs/array_object.cpp \
48 kjs/bool_object.cpp \
49 kjs/collector.cpp \
50 kjs/CommonIdentifiers.cpp \
51 kjs/Context.cpp \
52 kjs/date_object.cpp \
53 kjs/debugger.cpp \
54 kjs/dtoa.cpp \
55 kjs/error_object.cpp \
56 kjs/ExecState.cpp \
57 kjs/fpconst.cpp \
58 kjs/function.cpp \
59 kjs/function_object.cpp \
60 kjs/identifier.cpp \
61 kjs/internal.cpp \
62 kjs/interpreter.cpp \
63 kjs/JSImmediate.cpp \
64 kjs/JSLock.cpp \
65 kjs/lexer.cpp \
66 kjs/list.cpp \
67 kjs/lookup.cpp \
68 kjs/math_object.cpp \
69 kjs/nodes.cpp \
70 kjs/nodes2string.cpp \
71 kjs/number_object.cpp \
72 kjs/object.cpp \
73 kjs/object_object.cpp \
74 kjs/operations.cpp \
75 kjs/Parser.cpp \
76 kjs/property_map.cpp \
77 kjs/property_slot.cpp \
78 kjs/regexp.cpp \
79 kjs/regexp_object.cpp \
80 kjs/scope_chain.cpp \
81 kjs/string_object.cpp \
82 kjs/ustring.cpp \
83 kjs/value.cpp
84
85
86# GENERATOR 1-A: LUT creator
87lut.output = tmp/${QMAKE_FILE_BASE}.lut.h
88lut.commands = perl $$PWD/kjs/create_hash_table ${QMAKE_FILE_NAME} -i > ${QMAKE_FILE_OUT}
89lut.depend = ${QMAKE_FILE_NAME}
90lut.input = LUT_FILES
91lut.CONFIG += no_link
92QMAKE_EXTRA_COMPILERS += lut
93
94# GENERATOR 1-B: particular LUT creator (for 1 file only)
95keywordlut.output = tmp/lexer.lut.h
96keywordlut.commands = perl $$PWD/kjs/create_hash_table ${QMAKE_FILE_NAME} -i > ${QMAKE_FILE_OUT}
97keywordlut.depend = ${QMAKE_FILE_NAME}
98keywordlut.input = KEYWORDLUT_FILES
99keywordlut.CONFIG += no_link
100QMAKE_EXTRA_COMPILERS += keywordlut
101
102# GENERATOR 2: bison grammar
103kjsbison.output = tmp/${QMAKE_FILE_BASE}.cpp
104kjsbison.commands = bison -d -p kjsyy ${QMAKE_FILE_NAME} -o ${QMAKE_FILE_BASE}.tab.c && mv ${QMAKE_FILE_BASE}.tab.c ${QMAKE_FILE_OUT} && mv ${QMAKE_FILE_BASE}.tab.h tmp/${QMAKE_FILE_BASE}.h
105kjsbison.depend = ${QMAKE_FILE_NAME}
106kjsbison.input = KJSBISON
107kjsbison.variable_out = GENERATED_SOURCES
108kjsbison.dependency_type = TYPE_C
109kjsbison.CONFIG = target_predeps
110kjsbison.clean = ${QMAKE_FILE_OUT} tmp/${QMAKE_FILE_BASE}.h
111QMAKE_EXTRA_COMPILERS += kjsbison
Note: See TracBrowser for help on using the repository browser.