source: webkit/trunk/Source/JavaScriptCore/DerivedSources.make@ 253443

Last change on this file since 253443 was 253335, checked in by Tadeu Zagallo, 5 years ago

Reduce JSC's binary size
https://bugs.webkit.org/show_bug.cgi?id=204549

Reviewed by Saam Barati.

The Wasm interpreter landed in r251886 and significantly increased JSC's binary size. To try and
offset that, here and some easy fixes that get us ~200kb back:

  • We were generating 2 instances of dumpBytecode, at 30kb each. I changed the generator to emit a cpp file instead, avoiding the duplication.
  • We had 3 instances of computeUsesForBytecodeIndex at 11kb each. I kept the work that depended on the template type in the template function and moved the massive switch into computeUsesForBytecodeIndexImpl. I also did the same for computeDefsForBytecodeIndex.
  • We had 8 instances of emit_compareAndJump(Slow) at 8kb (7kb for Slow) each. I kept the code that extracts the data from the bytecode in the template, but moved the bulk of the function into emit_compareAndJump(Slow)Impl.
  • CMakeLists.txt:
  • DerivedSources-output.xcfilelist:
  • DerivedSources.make:
  • Sources.txt:
  • bytecode/BytecodeDumper.cpp:

(JSC::BytecodeDumperBase::printLocationAndOp):
(JSC::BytecodeDumperBase::dumpValue):

  • bytecode/BytecodeDumper.h:

(JSC::BytecodeDumperBase::~BytecodeDumperBase):
(JSC::BytecodeDumperBase::dumpValue):
(JSC::BytecodeDumperBase::BytecodeDumperBase):
(JSC::BytecodeDumper::BytecodeDumper):

  • bytecode/BytecodeUseDef.cpp: Copied from Source/JavaScriptCore/bytecode/BytecodeUseDef.h.

(JSC::computeUsesForBytecodeIndexImpl):
(JSC::computeDefsForBytecodeIndexImpl):

  • bytecode/BytecodeUseDef.h:

(JSC::computeUsesForBytecodeIndex):
(JSC::computeDefsForBytecodeIndex):

  • generator/DSL.rb:
  • generator/Opcode.rb:
  • generator/Options.rb:
  • jit/JIT.h:
  • jit/JITArithmetic.cpp:

(JSC::JIT::emit_compareAndJump):
(JSC::JIT::emit_compareAndJumpImpl):
(JSC::JIT::emit_compareUnsignedAndJump):
(JSC::JIT::emit_compareUnsignedAndJumpImpl):
(JSC::JIT::emit_compareUnsigned):
(JSC::JIT::emit_compareUnsignedImpl):
(JSC::JIT::emit_compareAndJumpSlow):
(JSC::JIT::emit_compareAndJumpSlowImpl):

  • Property svn:eol-style set to native
File size: 16.9 KB
Line 
1# Copyright (C) 2006, 2007, 2008, 2009, 2011, 2013, 2015 Apple Inc. All rights reserved.
2#
3# Redistribution and use in source and binary forms, with or without
4# modification, are permitted provided that the following conditions
5# are met:
6#
7# 1. Redistributions of source code must retain the above copyright
8# notice, this list of conditions and the following disclaimer.
9# 2. Redistributions in binary form must reproduce the above copyright
10# notice, this list of conditions and the following disclaimer in the
11# documentation and/or other materials provided with the distribution.
12# 3. Neither the name of Apple Inc. ("Apple") nor the names of
13# its contributors may be used to endorse or promote products derived
14# from this software without specific prior written permission.
15#
16# THIS SOFTWARE IS PROVIDED BY APPLE AND ITS CONTRIBUTORS "AS IS" AND ANY
17# EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED
18# WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
19# DISCLAIMED. IN NO EVENT SHALL APPLE OR ITS CONTRIBUTORS BE LIABLE FOR ANY
20# DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES
21# (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES;
22# LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND
23# ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
24# (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF
25# THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
26
27VPATH = \
28 $(JavaScriptCore) \
29 $(JavaScriptCore)/parser \
30 $(JavaScriptCore)/runtime \
31 $(JavaScriptCore)/interpreter \
32 $(JavaScriptCore)/jit \
33 $(JavaScriptCore)/builtins \
34 $(JavaScriptCore)/wasm/js \
35#
36
37PYTHON = python
38PERL = perl
39RUBY = ruby
40
41JavaScriptCore_SCRIPTS_DIR = $(JavaScriptCore)/Scripts
42
43ifeq ($(OS),Windows_NT)
44 DELETE = cmd //C del
45else
46 DELETE = rm -f
47endif
48
49# --------
50
51.PHONY : all
52all : \
53 udis86_itab.h \
54 InjectedScriptSource.h \
55 IntlCanonicalizeLanguage.h \
56 JSCBuiltins.h \
57 Lexer.lut.h \
58 KeywordLookup.h \
59 RegExpJitTables.h \
60 UnicodePatternTables.h \
61 yarr/YarrCanonicalizeUnicode.cpp \
62 WasmOps.h \
63 WasmB3IRGeneratorInlines.h \
64#
65
66# JavaScript builtins.
67
68BUILTINS_GENERATOR_SCRIPTS = \
69 $(JavaScriptCore_SCRIPTS_DIR)/wkbuiltins/__init__.py \
70 $(JavaScriptCore_SCRIPTS_DIR)/wkbuiltins/wkbuiltins.py \
71 $(JavaScriptCore_SCRIPTS_DIR)/wkbuiltins/builtins_generator.py \
72 $(JavaScriptCore_SCRIPTS_DIR)/wkbuiltins/builtins_model.py \
73 $(JavaScriptCore_SCRIPTS_DIR)/wkbuiltins/builtins_templates.py \
74 $(JavaScriptCore_SCRIPTS_DIR)/wkbuiltins/builtins_generate_combined_header.py \
75 $(JavaScriptCore_SCRIPTS_DIR)/wkbuiltins/builtins_generate_combined_implementation.py \
76 $(JavaScriptCore_SCRIPTS_DIR)/wkbuiltins/builtins_generate_separate_header.py \
77 $(JavaScriptCore_SCRIPTS_DIR)/wkbuiltins/builtins_generate_separate_implementation.py \
78 ${JavaScriptCore_SCRIPTS_DIR}/wkbuiltins/builtins_generate_wrapper_header.py \
79 ${JavaScriptCore_SCRIPTS_DIR}/wkbuiltins/builtins_generate_wrapper_implementation.py \
80 ${JavaScriptCore_SCRIPTS_DIR}/wkbuiltins/builtins_generate_internals_wrapper_header.py \
81 ${JavaScriptCore_SCRIPTS_DIR}/wkbuiltins/builtins_generate_internals_wrapper_implementation.py \
82 $(JavaScriptCore_SCRIPTS_DIR)/generate-js-builtins.py \
83 $(JavaScriptCore_SCRIPTS_DIR)/lazywriter.py \
84#
85
86JavaScriptCore_BUILTINS_SOURCES = \
87 $(JavaScriptCore)/builtins/AsyncFromSyncIteratorPrototype.js \
88 $(JavaScriptCore)/builtins/ArrayConstructor.js \
89 $(JavaScriptCore)/builtins/ArrayIteratorPrototype.js \
90 $(JavaScriptCore)/builtins/ArrayPrototype.js \
91 $(JavaScriptCore)/builtins/AsyncIteratorPrototype.js \
92 $(JavaScriptCore)/builtins/AsyncFunctionPrototype.js \
93 $(JavaScriptCore)/builtins/AsyncGeneratorPrototype.js \
94 $(JavaScriptCore)/builtins/DatePrototype.js \
95 $(JavaScriptCore)/builtins/FunctionPrototype.js \
96 $(JavaScriptCore)/builtins/GeneratorPrototype.js \
97 $(JavaScriptCore)/builtins/GlobalObject.js \
98 $(JavaScriptCore)/builtins/GlobalOperations.js \
99 $(JavaScriptCore)/builtins/InspectorInstrumentationObject.js \
100 $(JavaScriptCore)/builtins/InternalPromiseConstructor.js \
101 $(JavaScriptCore)/builtins/IteratorHelpers.js \
102 $(JavaScriptCore)/builtins/IteratorPrototype.js \
103 $(JavaScriptCore)/builtins/MapIteratorPrototype.js \
104 $(JavaScriptCore)/builtins/MapPrototype.js \
105 $(JavaScriptCore)/builtins/ModuleLoader.js \
106 $(JavaScriptCore)/builtins/NumberConstructor.js \
107 $(JavaScriptCore)/builtins/ObjectConstructor.js \
108 $(JavaScriptCore)/builtins/PromiseConstructor.js \
109 $(JavaScriptCore)/builtins/PromiseOperations.js \
110 $(JavaScriptCore)/builtins/PromisePrototype.js \
111 $(JavaScriptCore)/builtins/ReflectObject.js \
112 $(JavaScriptCore)/builtins/RegExpPrototype.js \
113 ${JavaScriptCore}/builtins/RegExpStringIteratorPrototype.js \
114 $(JavaScriptCore)/builtins/SetIteratorPrototype.js \
115 $(JavaScriptCore)/builtins/SetPrototype.js \
116 $(JavaScriptCore)/builtins/StringConstructor.js \
117 $(JavaScriptCore)/builtins/StringIteratorPrototype.js \
118 $(JavaScriptCore)/builtins/StringPrototype.js \
119 $(JavaScriptCore)/builtins/TypedArrayConstructor.js \
120 $(JavaScriptCore)/builtins/TypedArrayPrototype.js \
121 $(JavaScriptCore)/builtins/WebAssembly.js \
122#
123
124# The combined output file depends on the contents of builtins and generator scripts, so
125# adding, modifying, or removing builtins or scripts will trigger regeneration of files.
126
127JavaScriptCore_BUILTINS_DEPENDENCIES_LIST : $(JavaScriptCore_SCRIPTS_DIR)/UpdateContents.py DerivedSources.make
128 $(PYTHON) $(JavaScriptCore_SCRIPTS_DIR)/UpdateContents.py '$(JavaScriptCore_BUILTINS_SOURCES) $(BUILTINS_GENERATOR_SCRIPTS)' $@
129
130JSCBuiltins.h: $(BUILTINS_GENERATOR_SCRIPTS) $(JavaScriptCore_BUILTINS_SOURCES) JavaScriptCore_BUILTINS_DEPENDENCIES_LIST
131 $(PYTHON) $(JavaScriptCore_SCRIPTS_DIR)/generate-js-builtins.py --combined --output-directory . --framework JavaScriptCore $(JavaScriptCore_BUILTINS_SOURCES)
132
133# Perfect hash lookup tables for JavaScript classes.
134
135OBJECT_LUT_HEADERS = \
136 AsyncFromSyncIteratorPrototype.lut.h \
137 ArrayConstructor.lut.h \
138 AsyncGeneratorPrototype.lut.h \
139 BigIntConstructor.lut.h \
140 BigIntPrototype.lut.h \
141 BooleanPrototype.lut.h \
142 DateConstructor.lut.h \
143 DatePrototype.lut.h \
144 ErrorPrototype.lut.h \
145 GeneratorPrototype.lut.h \
146 InspectorInstrumentationObject.lut.h \
147 IntlCollatorConstructor.lut.h \
148 IntlCollatorPrototype.lut.h \
149 IntlDateTimeFormatConstructor.lut.h \
150 IntlDateTimeFormatPrototype.lut.h \
151 IntlNumberFormatConstructor.lut.h \
152 IntlNumberFormatPrototype.lut.h \
153 IntlObject.lut.h \
154 IntlPluralRulesConstructor.lut.h \
155 IntlPluralRulesPrototype.lut.h \
156 JSDataViewPrototype.lut.h \
157 JSGlobalObject.lut.h \
158 JSInternalPromiseConstructor.lut.h \
159 JSModuleLoader.lut.h \
160 JSONObject.lut.h \
161 JSPromiseConstructor.lut.h \
162 JSPromisePrototype.lut.h \
163 JSWebAssembly.lut.h \
164 MapPrototype.lut.h \
165 NumberConstructor.lut.h \
166 NumberPrototype.lut.h \
167 ObjectConstructor.lut.h \
168 ReflectObject.lut.h \
169 RegExpConstructor.lut.h \
170 SetPrototype.lut.h \
171 StringConstructor.lut.h \
172 StringPrototype.lut.h \
173 SymbolConstructor.lut.h \
174 SymbolPrototype.lut.h \
175 WebAssemblyCompileErrorConstructor.lut.h \
176 WebAssemblyCompileErrorPrototype.lut.h \
177 WebAssemblyGlobalConstructor.lut.h \
178 WebAssemblyGlobalPrototype.lut.h \
179 WebAssemblyInstanceConstructor.lut.h \
180 WebAssemblyInstancePrototype.lut.h \
181 WebAssemblyLinkErrorConstructor.lut.h \
182 WebAssemblyLinkErrorPrototype.lut.h \
183 WebAssemblyMemoryConstructor.lut.h \
184 WebAssemblyMemoryPrototype.lut.h \
185 WebAssemblyModuleConstructor.lut.h \
186 WebAssemblyModulePrototype.lut.h \
187 WebAssemblyRuntimeErrorConstructor.lut.h \
188 WebAssemblyRuntimeErrorPrototype.lut.h \
189 WebAssemblyTableConstructor.lut.h \
190 WebAssemblyTablePrototype.lut.h \
191#
192
193$(OBJECT_LUT_HEADERS): %.lut.h : %.cpp $(JavaScriptCore)/create_hash_table
194 $(PERL) $(JavaScriptCore)/create_hash_table $< > $@
195
196Lexer.lut.h: Keywords.table $(JavaScriptCore)/create_hash_table
197 $(PERL) $(JavaScriptCore)/create_hash_table $< > $@
198
199# character tables for Yarr
200
201RegExpJitTables.h: yarr/create_regex_tables
202 $(PYTHON) $^ > $@
203
204KeywordLookup.h: KeywordLookupGenerator.py Keywords.table
205 $(PYTHON) $^ > $@
206
207# udis86 instruction tables
208
209udis86_itab.h: $(JavaScriptCore)/disassembler/udis86/ud_itab.py $(JavaScriptCore)/disassembler/udis86/optable.xml
210 $(PYTHON) $(JavaScriptCore)/disassembler/udis86/ud_itab.py $(JavaScriptCore)/disassembler/udis86/optable.xml .
211
212# Bytecode files
213
214BYTECODE_FILES = \
215 Bytecodes.h \
216 BytecodeIndices.h \
217 BytecodeStructs.h \
218 InitBytecodes.asm \
219 WasmLLIntGeneratorInlines.h \
220 InitWasm.asm \
221 BytecodeDumperGenerated.cpp \
222#
223BYTECODE_FILES_PATTERNS = $(subst .,%,$(BYTECODE_FILES))
224
225all : $(BYTECODE_FILES)
226
227$(BYTECODE_FILES_PATTERNS): $(wildcard $(JavaScriptCore)/generator/*.rb) $(JavaScriptCore)/bytecode/BytecodeList.rb $(JavaScriptCore)/wasm/wasm.json
228 $(RUBY) $(JavaScriptCore)/generator/main.rb $(JavaScriptCore)/bytecode/BytecodeList.rb \
229 --bytecode_structs_h BytecodeStructs.h \
230 --init_bytecodes_asm InitBytecodes.asm \
231 --bytecodes_h Bytecodes.h \
232 --bytecode_indices_h BytecodeIndices.h \
233 --wasm_json $(JavaScriptCore)/wasm/wasm.json \
234 --wasm_llint_generator_h WasmLLIntGeneratorInlines.h \
235 --init_wasm_llint InitWasm.asm \
236 --bytecode_dumper BytecodeDumperGenerated.cpp \
237
238# Inspector interfaces
239
240INSPECTOR_DOMAINS := \
241 $(JavaScriptCore)/inspector/protocol/Animation.json \
242 $(JavaScriptCore)/inspector/protocol/ApplicationCache.json \
243 $(JavaScriptCore)/inspector/protocol/Audit.json \
244 $(JavaScriptCore)/inspector/protocol/CSS.json \
245 $(JavaScriptCore)/inspector/protocol/Canvas.json \
246 $(JavaScriptCore)/inspector/protocol/Console.json \
247 $(JavaScriptCore)/inspector/protocol/DOM.json \
248 $(JavaScriptCore)/inspector/protocol/DOMDebugger.json \
249 $(JavaScriptCore)/inspector/protocol/DOMStorage.json \
250 $(JavaScriptCore)/inspector/protocol/Database.json \
251 $(JavaScriptCore)/inspector/protocol/Debugger.json \
252 $(JavaScriptCore)/inspector/protocol/GenericTypes.json \
253 $(JavaScriptCore)/inspector/protocol/Heap.json \
254 $(JavaScriptCore)/inspector/protocol/Inspector.json \
255 $(JavaScriptCore)/inspector/protocol/LayerTree.json \
256 $(JavaScriptCore)/inspector/protocol/Network.json \
257 $(JavaScriptCore)/inspector/protocol/Page.json \
258 $(JavaScriptCore)/inspector/protocol/Recording.json \
259 $(JavaScriptCore)/inspector/protocol/Runtime.json \
260 $(JavaScriptCore)/inspector/protocol/ScriptProfiler.json \
261 $(JavaScriptCore)/inspector/protocol/Security.json \
262 $(JavaScriptCore)/inspector/protocol/Target.json \
263 $(JavaScriptCore)/inspector/protocol/Timeline.json \
264 $(JavaScriptCore)/inspector/protocol/Worker.json \
265#
266
267ifeq ($(findstring ENABLE_INDEXED_DATABASE,$(FEATURE_DEFINES)), ENABLE_INDEXED_DATABASE)
268 INSPECTOR_DOMAINS := $(INSPECTOR_DOMAINS) $(JavaScriptCore)/inspector/protocol/IndexedDB.json
269endif
270
271ifeq ($(findstring ENABLE_RESOURCE_USAGE,$(FEATURE_DEFINES)), ENABLE_RESOURCE_USAGE)
272 INSPECTOR_DOMAINS := $(INSPECTOR_DOMAINS) $(JavaScriptCore)/inspector/protocol/CPUProfiler.json
273 INSPECTOR_DOMAINS := $(INSPECTOR_DOMAINS) $(JavaScriptCore)/inspector/protocol/Memory.json
274endif
275
276ifeq ($(findstring ENABLE_SERVICE_WORKER,$(FEATURE_DEFINES)), ENABLE_SERVICE_WORKER)
277 INSPECTOR_DOMAINS := $(INSPECTOR_DOMAINS) $(JavaScriptCore)/inspector/protocol/ServiceWorker.json
278endif
279
280INSPECTOR_GENERATOR_SCRIPTS = \
281 $(JavaScriptCore)/inspector/scripts/codegen/__init__.py \
282 $(JavaScriptCore)/inspector/scripts/codegen/cpp_generator_templates.py \
283 $(JavaScriptCore)/inspector/scripts/codegen/cpp_generator.py \
284 $(JavaScriptCore)/inspector/scripts/codegen/generate_cpp_backend_dispatcher_header.py \
285 $(JavaScriptCore)/inspector/scripts/codegen/generate_cpp_backend_dispatcher_implementation.py \
286 $(JavaScriptCore)/inspector/scripts/codegen/generate_cpp_frontend_dispatcher_header.py \
287 $(JavaScriptCore)/inspector/scripts/codegen/generate_cpp_frontend_dispatcher_implementation.py \
288 $(JavaScriptCore)/inspector/scripts/codegen/generate_cpp_protocol_types_header.py \
289 $(JavaScriptCore)/inspector/scripts/codegen/generate_cpp_protocol_types_implementation.py \
290 $(JavaScriptCore)/inspector/scripts/codegen/generate_js_backend_commands.py \
291 $(JavaScriptCore)/inspector/scripts/codegen/generator_templates.py \
292 $(JavaScriptCore)/inspector/scripts/codegen/generator.py \
293 $(JavaScriptCore)/inspector/scripts/codegen/models.py \
294 $(JavaScriptCore)/inspector/scripts/generate-inspector-protocol-bindings.py \
295 $(JavaScriptCore_SCRIPTS_DIR)/generate-combined-inspector-json.py \
296#
297
298# TODO: Is there some way to not hardcode this? Can we get it from
299# generate-inspector-protocol-bindings.py and ./CombinedDomains.json?
300INSPECTOR_DISPATCHER_FILES = \
301 inspector/InspectorAlternateBackendDispatchers.h \
302 inspector/InspectorBackendCommands.js \
303 inspector/InspectorBackendDispatchers.cpp \
304 inspector/InspectorBackendDispatchers.h \
305 inspector/InspectorFrontendDispatchers.cpp \
306 inspector/InspectorFrontendDispatchers.h \
307 inspector/InspectorProtocolObjects.cpp \
308 inspector/InspectorProtocolObjects.h \
309#
310INSPECTOR_DISPATCHER_FILES_PATTERNS = $(subst .,%,$(INSPECTOR_DISPATCHER_FILES))
311
312all : $(INSPECTOR_DISPATCHER_FILES)
313
314# The combined JSON file depends on the actual set of domains and their file contents, so that
315# adding, modifying, or removing domains will trigger regeneration of inspector files.
316
317.PHONY: force
318EnabledInspectorDomains : $(JavaScriptCore_SCRIPTS_DIR)/UpdateContents.py force
319 $(PYTHON) $(JavaScriptCore_SCRIPTS_DIR)/UpdateContents.py '$(INSPECTOR_DOMAINS)' $@
320
321CombinedDomains.json : $(JavaScriptCore_SCRIPTS_DIR)/generate-combined-inspector-json.py $(INSPECTOR_DOMAINS) EnabledInspectorDomains
322 $(PYTHON) $(JavaScriptCore_SCRIPTS_DIR)/generate-combined-inspector-json.py $(INSPECTOR_DOMAINS) > ./CombinedDomains.json
323
324# Inspector Backend Dispatchers, Frontend Dispatchers, Type Builders
325$(INSPECTOR_DISPATCHER_FILES_PATTERNS) : CombinedDomains.json $(INSPECTOR_GENERATOR_SCRIPTS)
326 $(PYTHON) $(JavaScriptCore)/inspector/scripts/generate-inspector-protocol-bindings.py --framework JavaScriptCore --outputDir inspector ./CombinedDomains.json
327
328InjectedScriptSource.h : inspector/InjectedScriptSource.js $(JavaScriptCore_SCRIPTS_DIR)/jsmin.py $(JavaScriptCore_SCRIPTS_DIR)/xxd.pl
329 echo "//# sourceURL=__InjectedScript_InjectedScriptSource.js" > ./InjectedScriptSource.min.js
330 $(PYTHON) $(JavaScriptCore_SCRIPTS_DIR)/jsmin.py < $(JavaScriptCore)/inspector/InjectedScriptSource.js >> ./InjectedScriptSource.min.js
331 $(PERL) $(JavaScriptCore_SCRIPTS_DIR)/xxd.pl InjectedScriptSource_js ./InjectedScriptSource.min.js InjectedScriptSource.h
332 $(DELETE) InjectedScriptSource.min.js
333
334AIR_OPCODE_FILES = \
335 AirOpcode.h \
336 AirOpcodeUtils.h \
337 AirOpcodeGenerated.h \
338#
339AIR_OPCODE_FILES_PATTERNS = $(subst .,%,$(AIR_OPCODE_FILES))
340
341all : $(AIR_OPCODE_FILES)
342
343$(AIR_OPCODE_FILES_PATTERNS) : $(JavaScriptCore)/b3/air/opcode_generator.rb $(JavaScriptCore)/b3/air/AirOpcode.opcodes
344 $(RUBY) $^
345
346UnicodePatternTables.h: $(JavaScriptCore)/yarr/generateYarrUnicodePropertyTables.py $(JavaScriptCore)/yarr/hasher.py $(JavaScriptCore)/ucd/DerivedBinaryProperties.txt $(JavaScriptCore)/ucd/DerivedCoreProperties.txt $(JavaScriptCore)/ucd/DerivedNormalizationProps.txt $(JavaScriptCore)/ucd/PropList.txt $(JavaScriptCore)/ucd/PropertyAliases.txt $(JavaScriptCore)/ucd/PropertyValueAliases.txt $(JavaScriptCore)/ucd/ScriptExtensions.txt $(JavaScriptCore)/ucd/Scripts.txt $(JavaScriptCore)/ucd/UnicodeData.txt $(JavaScriptCore)/ucd/emoji-data.txt
347 $(PYTHON) $(JavaScriptCore)/yarr/generateYarrUnicodePropertyTables.py $(JavaScriptCore)/ucd ./UnicodePatternTables.h
348
349yarr/YarrCanonicalizeUnicode.cpp: $(JavaScriptCore)/yarr/generateYarrCanonicalizeUnicode $(JavaScriptCore)/ucd/CaseFolding.txt
350 $(PYTHON) $(JavaScriptCore)/yarr/generateYarrCanonicalizeUnicode $(JavaScriptCore)/ucd/CaseFolding.txt ./yarr/YarrCanonicalizeUnicode.cpp
351
352IntlCanonicalizeLanguage.h: $(JavaScriptCore)/Scripts/generateIntlCanonicalizeLanguage.py $(JavaScriptCore)/ucd/language-subtag-registry.txt
353 $(PYTHON) $(JavaScriptCore)/Scripts/generateIntlCanonicalizeLanguage.py $(JavaScriptCore)/ucd/language-subtag-registry.txt ./IntlCanonicalizeLanguage.h
354
355WasmOps.h: $(JavaScriptCore)/wasm/generateWasmOpsHeader.py $(JavaScriptCore)/wasm/generateWasm.py $(JavaScriptCore)/wasm/wasm.json
356 $(PYTHON) $(JavaScriptCore)/wasm/generateWasmOpsHeader.py $(JavaScriptCore)/wasm/wasm.json ./WasmOps.h
357
358WasmB3IRGeneratorInlines.h: $(JavaScriptCore)/wasm/generateWasmB3IRGeneratorInlinesHeader.py $(JavaScriptCore)/wasm/generateWasm.py $(JavaScriptCore)/wasm/wasm.json
359 $(PYTHON) $(JavaScriptCore)/wasm/generateWasmB3IRGeneratorInlinesHeader.py $(JavaScriptCore)/wasm/wasm.json ./WasmB3IRGeneratorInlines.h
360
361# Dynamically-defined targets are listed below. Static targets belong up top.
362
363all : \
364 $(OBJECT_LUT_HEADERS) \
365#
Note: See TracBrowser for help on using the repository browser.