source: webkit/trunk/Source/JavaScriptCore/DerivedSources.pri@ 146071

Last change on this file since 146071 was 146071, checked in by [email protected], 12 years ago

ObjectPrototype properties should be eagerly created rather than lazily via static tables
https://bugs.webkit.org/show_bug.cgi?id=112539

Reviewed by Oliver Hunt.

This is the first part of https://bugs.webkit.org/show_bug.cgi?id=112233. Rolling this
in first since it's the less-likely-to-be-broken part.

  • CMakeLists.txt:
  • DerivedSources.make:
  • DerivedSources.pri:
  • GNUmakefile.list.am:
  • interpreter/CallFrame.h:

(JSC::ExecState::objectConstructorTable):

  • runtime/CommonIdentifiers.h:
  • runtime/JSGlobalData.cpp:

(JSC):
(JSC::JSGlobalData::JSGlobalData):
(JSC::JSGlobalData::~JSGlobalData):

  • runtime/JSGlobalData.h:

(JSGlobalData):

  • runtime/JSObject.cpp:

(JSC::JSObject::putDirectNativeFunction):
(JSC):

  • runtime/JSObject.h:

(JSObject):
(JSC):

  • runtime/Lookup.cpp:

(JSC::setUpStaticFunctionSlot):

  • runtime/ObjectPrototype.cpp:

(JSC):
(JSC::ObjectPrototype::finishCreation):
(JSC::ObjectPrototype::create):

  • runtime/ObjectPrototype.h:

(ObjectPrototype):

File size: 4.1 KB
Line 
1# -------------------------------------------------------------------
2# Derived sources for JavaScriptSource
3#
4# See 'Tools/qmake/README' for an overview of the build system
5# -------------------------------------------------------------------
6
7TEMPLATE = derived
8
9LUT_FILES += \
10 runtime/ArrayConstructor.cpp \
11 runtime/ArrayPrototype.cpp \
12 runtime/BooleanPrototype.cpp \
13 runtime/DateConstructor.cpp \
14 runtime/DatePrototype.cpp \
15 runtime/ErrorPrototype.cpp \
16 runtime/JSGlobalObject.cpp \
17 runtime/JSONObject.cpp \
18 runtime/MathObject.cpp \
19 runtime/NamePrototype.cpp \
20 runtime/NumberConstructor.cpp \
21 runtime/NumberPrototype.cpp \
22 runtime/ObjectConstructor.cpp \
23 runtime/RegExpConstructor.cpp \
24 runtime/RegExpObject.cpp \
25 runtime/RegExpPrototype.cpp \
26 runtime/StringConstructor.cpp \
27 runtime/StringPrototype.cpp \
28
29KEYWORDLUT_FILES += \
30 parser/Keywords.table
31
32JIT_STUB_FILES += \
33 jit/JITStubs.cpp
34
35LLINT_ASSEMBLER = $$PWD/llint/LowLevelInterpreter.asm
36
37LLINT_DEPENDENCY = \
38 $$PWD/llint/LowLevelInterpreter32_64.asm \
39 $$PWD/llint/LowLevelInterpreter64.asm \
40 $$LLINT_ASSEMBLER
41
42DISASSEMBLER_FILES = \
43 disassembler/udis86/optable.xml
44
45DISASSEMBLER_DEPENDENCY = \
46 $$PWD/disassembler/udis86/ud_opcode.py \
47 $$PWD/disassembler/udis86/ud_optable.py
48
49# GENERATOR 1-A: LUT creator
50lut.output = ${QMAKE_FILE_BASE}.lut.h
51lut.input = LUT_FILES
52lut.script = $$PWD/create_hash_table
53lut.commands = perl $$lut.script ${QMAKE_FILE_NAME} -i > ${QMAKE_FILE_OUT}
54lut.depends = ${QMAKE_FILE_NAME}
55GENERATORS += lut
56
57# GENERATOR 1-B: particular LUT creator (for 1 file only)
58keywordlut.output = Lexer.lut.h
59keywordlut.input = KEYWORDLUT_FILES
60keywordlut.script = $$PWD/create_hash_table
61keywordlut.commands = perl $$keywordlut.script ${QMAKE_FILE_NAME} -i > ${QMAKE_FILE_OUT}
62keywordlut.depends = ${QMAKE_FILE_NAME}
63GENERATORS += keywordlut
64
65# GENERATOR 2-A: JIT Stub functions for RVCT
66rvctstubs.output = Generated${QMAKE_FILE_BASE}_RVCT.h
67rvctstubs.script = $$PWD/create_jit_stubs
68rvctstubs.commands = perl -i $$rvctstubs.script --prefix RVCT ${QMAKE_FILE_NAME} > ${QMAKE_FILE_OUT}
69rvctstubs.depends = ${QMAKE_FILE_NAME}
70rvctstubs.input = JIT_STUB_FILES
71rvctstubs.CONFIG += no_link
72GENERATORS += rvctstubs
73
74# GENERATOR 2-B: JIT Stub functions for MSVC
75msvcstubs.output = Generated${QMAKE_FILE_BASE}_MSVC.asm
76msvcstubs.script = $$PWD/create_jit_stubs
77msvcstubs.commands = perl -i $$msvcstubs.script --prefix MSVC ${QMAKE_FILE_NAME} > ${QMAKE_FILE_OUT}
78msvcstubs.depends = ${QMAKE_FILE_NAME}
79msvcstubs.input = JIT_STUB_FILES
80msvcstubs.CONFIG += no_link
81GENERATORS += msvcstubs
82
83#GENERATOR: "RegExpJitTables.h": tables used by Yarr
84retgen.output = RegExpJitTables.h
85retgen.script = $$PWD/create_regex_tables
86retgen.input = retgen.script
87retgen.commands = python $$retgen.script > ${QMAKE_FILE_OUT}
88GENERATORS += retgen
89
90#GENERATOR: "KeywordLookup.h": decision tree used by the lexer
91klgen.output = KeywordLookup.h
92klgen.script = $$PWD/KeywordLookupGenerator.py
93klgen.input = KEYWORDLUT_FILES
94klgen.commands = python $$klgen.script ${QMAKE_FILE_NAME} > ${QMAKE_FILE_OUT}
95GENERATORS += klgen
96
97EXTRACTOR_BINARY = LLIntOffsetsExtractor$$BIN_EXTENSION
98DIRS = $$OUT_PWD $$OUT_PWD/debug $$OUT_PWD/release
99for(dir, DIRS) {
100 file = $$dir/$$EXTRACTOR_BINARY
101 exists($$file): LLINT_FILES += $$file
102}
103
104#GENERATOR: LLInt
105llint.output = ${QMAKE_FILE_IN_PATH}$${QMAKE_DIR_SEP}LLIntAssembly.h
106llint.script = $$PWD/offlineasm/asm.rb
107llint.input = LLINT_FILES
108llint.depends = $$LLINT_DEPENDENCY
109llint.commands = ruby $$llint.script $$LLINT_ASSEMBLER ${QMAKE_FILE_IN} ${QMAKE_FILE_OUT}
110GENERATORS += llint
111
112linux-*:if(isEqual(QT_ARCH, "i386")|isEqual(QT_ARCH, "x86_64")) {
113 # GENERATOR: disassembler
114 disassembler.output = udis86_itab.c
115 disassembler.input = DISASSEMBLER_FILES
116 disassembler.script = $$PWD/disassembler/udis86/itab.py
117 disassembler.depends = $$DISASSEMBLER_DEPENDENCY
118 disassembler.commands = python $$disassembler.script ${QMAKE_FILE_NAME} --outputDir ${QMAKE_FUNC_FILE_OUT_PATH}
119 disassembler.CONFIG += no_link
120 GENERATORS += disassembler
121}
Note: See TracBrowser for help on using the repository browser.