blob: 0b354468a644a72caf1650d9bce16fa042c47cbf [file] [log] [blame]
Ben Murdochb8a8cc12014-11-26 15:28:44 +00001# Copyright 2014 The Chromium Authors. All rights reserved.
2# Use of this source code is governed by a BSD-style license that can be
3# found in the LICENSE file.
4
Ben Murdoch014dc512016-03-22 12:00:34 +00005import("//build/config/android/config.gni")
6import("//build/config/arm.gni")
Ben Murdoch13e2dad2016-09-16 13:49:30 +01007import("//build/config/dcheck_always_on.gni")
Rubin Xu2894c6a2019-02-07 16:01:35 +00008import("//build/config/host_byteorder.gni")
9import("//build/config/jumbo.gni")
Ben Murdoch014dc512016-03-22 12:00:34 +000010import("//build/config/mips.gni")
11import("//build/config/sanitizers/sanitizers.gni")
Rubin Xu2894c6a2019-02-07 16:01:35 +000012import("//build_overrides/build.gni")
Ben Murdoch014dc512016-03-22 12:00:34 +000013
14if (is_android) {
15 import("//build/config/android/rules.gni")
16}
17
Ben Murdoch13e2dad2016-09-16 13:49:30 +010018import("gni/v8.gni")
Ben Murdoch014dc512016-03-22 12:00:34 +000019import("snapshot_toolchain.gni")
20
21declare_args() {
Ben Murdochf91f0612016-11-29 16:50:11 +000022 # Print to stdout on Android.
23 v8_android_log_stdout = false
24
Rubin Xu2894c6a2019-02-07 16:01:35 +000025 # Dynamically set an additional dependency from v8/custom_deps.
26 v8_custom_deps = ""
27
28 # Turns on all V8 debug features. Enables running V8 in a pseudo debug mode
29 # within a release Chrome.
30 v8_enable_debugging_features = is_debug
31
32 # Sets -DV8_ENABLE_FUTURE.
33 v8_enable_future = false
34
Ben Murdochbcf72ee2016-08-08 18:44:38 +010035 # Sets -DVERIFY_HEAP.
Ben Murdoch62ed6312017-06-06 11:06:27 +010036 v8_enable_verify_heap = ""
37
38 # Sets -DVERIFY_PREDICTABLE
39 v8_enable_verify_predictable = false
Ben Murdochbcf72ee2016-08-08 18:44:38 +010040
41 # Enable compiler warnings when using V8_DEPRECATED apis.
Rubin Xu2894c6a2019-02-07 16:01:35 +000042 v8_deprecation_warnings = true
Ben Murdochbcf72ee2016-08-08 18:44:38 +010043
44 # Enable compiler warnings when using V8_DEPRECATE_SOON apis.
Rubin Xu2894c6a2019-02-07 16:01:35 +000045 v8_imminent_deprecation_warnings = true
Ben Murdochf91f0612016-11-29 16:50:11 +000046
47 # Embeds the given script into the snapshot.
48 v8_embed_script = ""
Ben Murdochbcf72ee2016-08-08 18:44:38 +010049
Rubin Xu2894c6a2019-02-07 16:01:35 +000050 # Allows the embedder to add a custom suffix to the version string.
51 v8_embedder_string = ""
52
Ben Murdochbcf72ee2016-08-08 18:44:38 +010053 # Sets -dENABLE_DISASSEMBLER.
Ben Murdochf91f0612016-11-29 16:50:11 +000054 v8_enable_disassembler = ""
Ben Murdochbcf72ee2016-08-08 18:44:38 +010055
Rubin Xu2894c6a2019-02-07 16:01:35 +000056 # Sets the number of internal fields on promise objects.
57 v8_promise_internal_field_count = 0
58
Ben Murdochbcf72ee2016-08-08 18:44:38 +010059 # Sets -dENABLE_GDB_JIT_INTERFACE.
Ben Murdochf91f0612016-11-29 16:50:11 +000060 v8_enable_gdbjit = ""
Ben Murdochbcf72ee2016-08-08 18:44:38 +010061
Ben Murdoch62ed6312017-06-06 11:06:27 +010062 # Sets -dENABLE_VTUNE_JIT_INTERFACE.
63 v8_enable_vtunejit = false
64
Ben Murdochbcf72ee2016-08-08 18:44:38 +010065 # Sets -dENABLE_HANDLE_ZAPPING.
66 v8_enable_handle_zapping = is_debug
67
Ben Murdoch13e2dad2016-09-16 13:49:30 +010068 # Enable slow dchecks.
69 v8_enable_slow_dchecks = false
70
Rubin Xu2894c6a2019-02-07 16:01:35 +000071 # Enable fast mksnapshot runs.
72 v8_enable_fast_mksnapshot = false
73
74 # Enable embedded builtins.
75 # TODO(jgruber,v8:6666): Support ia32 and maybe MSVC.
76 v8_enable_embedded_builtins = v8_use_snapshot && v8_current_cpu != "x86" &&
77 !is_aix && (!is_win || is_clang)
78
79 # Enable embedded bytecode handlers.
80 v8_enable_embedded_bytecode_handlers = false
81
Ben Murdoch62ed6312017-06-06 11:06:27 +010082 # Enable code-generation-time checking of types in the CodeStubAssembler.
83 v8_enable_verify_csa = false
84
Rubin Xu2894c6a2019-02-07 16:01:35 +000085 # Enable pointer compression (sets -dV8_COMPRESS_POINTERS).
86 v8_enable_pointer_compression = false
87
Ben Murdochbcf72ee2016-08-08 18:44:38 +010088 # Interpreted regexp engine exists as platform-independent alternative
89 # based where the regular expression is compiled to a bytecode.
90 v8_interpreted_regexp = false
91
92 # Sets -dOBJECT_PRINT.
Ben Murdoch62ed6312017-06-06 11:06:27 +010093 v8_enable_object_print = ""
94
Rubin Xu2894c6a2019-02-07 16:01:35 +000095 # Sets -dV8_TRACE_MAPS.
Ben Murdoch62ed6312017-06-06 11:06:27 +010096 v8_enable_trace_maps = ""
97
98 # Sets -dV8_ENABLE_CHECKS.
99 v8_enable_v8_checks = ""
Ben Murdochbcf72ee2016-08-08 18:44:38 +0100100
Rubin Xu2894c6a2019-02-07 16:01:35 +0000101 # Sets -dV8_TRACE_IGNITION.
102 v8_enable_trace_ignition = false
103
104 # Sets -dV8_TRACE_FEEDBACK_UPDATES.
105 v8_enable_trace_feedback_updates = false
106
107 # Sets -dV8_CONCURRENT_MARKING
108 v8_enable_concurrent_marking = true
109
110 # Enables various testing features.
111 v8_enable_test_features = ""
112
113 # Build the snapshot with unwinding information for perf.
114 # Sets -dV8_USE_SNAPSHOT_WITH_UNWINDING_INFO.
115 v8_perf_prof_unwinding_info = false
116
Ben Murdochbcf72ee2016-08-08 18:44:38 +0100117 # With post mortem support enabled, metadata is embedded into libv8 that
118 # describes various parameters of the VM for use by debuggers. See
119 # tools/gen-postmortem-metadata.py for details.
120 v8_postmortem_support = false
121
Ben Murdochf3b273f2017-01-17 12:11:28 +0000122 # Switches off inlining in V8.
123 v8_no_inline = false
124
Ben Murdochc8c1d9e2017-03-08 14:04:23 +0000125 # Override OS page size when generating snapshot
126 v8_os_page_size = "0"
127
Ben Murdoch3b9bc312016-06-02 14:46:10 +0100128 # Similar to vfp but on MIPS.
129 v8_can_use_fpu_instructions = true
130
131 # Similar to the ARM hard float ABI but on MIPS.
132 v8_use_mips_abi_hardfloat = true
Emily Bernier958fae72015-03-24 16:35:39 -0400133
Rubin Xu2894c6a2019-02-07 16:01:35 +0000134 # Controls the threshold for on-heap/off-heap Typed Arrays.
135 v8_typed_array_max_size_in_heap = 64
136
Ben Murdoch62ed6312017-06-06 11:06:27 +0100137 # List of extra files to snapshot. They will be snapshotted in order so
138 # if files export symbols used by later files, they should go first.
139 #
140 # This default is used by cctests. Projects using V8 will want to override.
141 v8_extra_library_files = [ "//test/cctest/test-extra.js" ]
142
143 # Like v8_extra_library_files but for experimental features.
144 #
145 # This default is used by cctests. Projects using V8 will want to override.
146 v8_experimental_extra_library_files =
147 [ "//test/cctest/test-experimental-extra.js" ]
148
Rubin Xu2894c6a2019-02-07 16:01:35 +0000149 v8_enable_gdbjit =
150 ((v8_current_cpu == "x86" || v8_current_cpu == "x64") &&
151 (is_linux || is_mac)) || (v8_current_cpu == "ppc64" && is_linux)
152
153 # Temporary flag to allow embedders to update their microtasks scopes
154 # while rolling in a new version of V8.
155 v8_check_microtasks_scopes_consistency = ""
156
157 # Enable mitigations for executing untrusted code.
158 v8_untrusted_code_mitigations = true
159
160 # Enable minor mark compact.
161 v8_enable_minor_mc = true
162
163 # Check that each header can be included in isolation (requires also
164 # setting the "check_v8_header_includes" gclient variable to run a
165 # specific hook).
166 v8_check_header_includes = false
Ben Murdochf91f0612016-11-29 16:50:11 +0000167}
168
169# Derived defaults.
Ben Murdoch62ed6312017-06-06 11:06:27 +0100170if (v8_enable_verify_heap == "") {
Rubin Xu2894c6a2019-02-07 16:01:35 +0000171 v8_enable_verify_heap = v8_enable_debugging_features
Ben Murdoch62ed6312017-06-06 11:06:27 +0100172}
173if (v8_enable_object_print == "") {
Rubin Xu2894c6a2019-02-07 16:01:35 +0000174 v8_enable_object_print = v8_enable_debugging_features
Ben Murdochf91f0612016-11-29 16:50:11 +0000175}
176if (v8_enable_disassembler == "") {
Rubin Xu2894c6a2019-02-07 16:01:35 +0000177 v8_enable_disassembler = v8_enable_debugging_features
Ben Murdoch62ed6312017-06-06 11:06:27 +0100178}
179if (v8_enable_trace_maps == "") {
Rubin Xu2894c6a2019-02-07 16:01:35 +0000180 v8_enable_trace_maps = v8_enable_debugging_features
181}
182if (v8_enable_test_features == "") {
183 v8_enable_test_features = v8_enable_debugging_features || dcheck_always_on
Ben Murdoch62ed6312017-06-06 11:06:27 +0100184}
185if (v8_enable_v8_checks == "") {
Rubin Xu2894c6a2019-02-07 16:01:35 +0000186 v8_enable_v8_checks = v8_enable_debugging_features
Ben Murdochf91f0612016-11-29 16:50:11 +0000187}
Rubin Xu2894c6a2019-02-07 16:01:35 +0000188if (v8_check_microtasks_scopes_consistency == "") {
189 v8_check_microtasks_scopes_consistency =
190 v8_enable_debugging_features || dcheck_always_on
191}
192
193assert(!v8_enable_embedded_builtins || v8_use_snapshot,
194 "Embedded builtins only work with snapshots")
195assert(
196 v8_current_cpu != "x86" || !v8_enable_embedded_builtins ||
197 !v8_untrusted_code_mitigations,
198 "Embedded builtins on ia32 and untrusted code mitigations are incompatible")
199
200assert(!v8_enable_embedded_bytecode_handlers || v8_enable_embedded_builtins,
201 "Embedded bytecode handlers only work with embedded builtins")
Ben Murdochf91f0612016-11-29 16:50:11 +0000202
Ben Murdochf3b273f2017-01-17 12:11:28 +0000203# Specifies if the target build is a simulator build. Comparing target cpu
204# with v8 target cpu to not affect simulator builds for making cross-compile
205# snapshots.
206is_target_simulator = target_cpu != v8_target_cpu
207
Ben Murdochb8a8cc12014-11-26 15:28:44 +0000208v8_random_seed = "314159265"
Ben Murdochbcf72ee2016-08-08 18:44:38 +0100209v8_toolset_for_shell = "host"
Ben Murdochb8a8cc12014-11-26 15:28:44 +0000210
Ben Murdochb8a8cc12014-11-26 15:28:44 +0000211###############################################################################
212# Configurations
213#
214config("internal_config") {
215 visibility = [ ":*" ] # Only targets in this file can depend on this.
216
Rubin Xu2894c6a2019-02-07 16:01:35 +0000217 include_dirs = [
218 ".",
219 "$target_gen_dir",
220 ]
221
222 defines = []
Ben Murdochb8a8cc12014-11-26 15:28:44 +0000223
Ben Murdoch014dc512016-03-22 12:00:34 +0000224 if (is_component_build) {
Rubin Xu2894c6a2019-02-07 16:01:35 +0000225 defines += [ "BUILDING_V8_SHARED" ]
Ben Murdochb8a8cc12014-11-26 15:28:44 +0000226 }
227}
228
229config("internal_config_base") {
230 visibility = [ ":*" ] # Only targets in this file can depend on this.
231
Rubin Xu2894c6a2019-02-07 16:01:35 +0000232 include_dirs = [
233 ".",
234 "$target_gen_dir",
235 ]
Ben Murdochb8a8cc12014-11-26 15:28:44 +0000236}
237
Ben Murdoch3b9bc312016-06-02 14:46:10 +0100238# This config should be applied to code using the libplatform.
239config("libplatform_config") {
240 include_dirs = [ "include" ]
Ben Murdochc8c1d9e2017-03-08 14:04:23 +0000241 if (is_component_build) {
242 defines = [ "USING_V8_PLATFORM_SHARED" ]
243 }
244}
245
246# This config should be applied to code using the libbase.
247config("libbase_config") {
248 if (is_component_build) {
249 defines = [ "USING_V8_BASE_SHARED" ]
250 }
251 libs = []
252 if (is_android && current_toolchain != host_toolchain) {
253 libs += [ "log" ]
254 }
Ben Murdoch3b9bc312016-06-02 14:46:10 +0100255}
256
Ben Murdoch13e2dad2016-09-16 13:49:30 +0100257# This config should be applied to code using the libsampler.
258config("libsampler_config") {
259 include_dirs = [ "include" ]
260}
261
Ben Murdochb8a8cc12014-11-26 15:28:44 +0000262# This config should only be applied to code using V8 and not any V8 code
263# itself.
264config("external_config") {
Rubin Xu2894c6a2019-02-07 16:01:35 +0000265 defines = []
Ben Murdochb8a8cc12014-11-26 15:28:44 +0000266 if (is_component_build) {
Rubin Xu2894c6a2019-02-07 16:01:35 +0000267 defines += [ "USING_V8_SHARED" ]
Ben Murdochb8a8cc12014-11-26 15:28:44 +0000268 }
Rubin Xu2894c6a2019-02-07 16:01:35 +0000269 if (v8_enable_v8_checks) {
270 defines += [ "V8_ENABLE_CHECKS" ] # Used in "include/v8.h".
Ben Murdochf3b273f2017-01-17 12:11:28 +0000271 }
Rubin Xu2894c6a2019-02-07 16:01:35 +0000272 if (v8_deprecation_warnings) {
273 defines += [ "V8_DEPRECATION_WARNINGS" ]
274 }
275 if (v8_imminent_deprecation_warnings) {
276 defines += [ "V8_IMMINENT_DEPRECATION_WARNINGS" ]
277 }
278 include_dirs = [
279 "include",
280 "$target_gen_dir/include",
281 ]
Ben Murdochb8a8cc12014-11-26 15:28:44 +0000282}
283
Ben Murdoch014dc512016-03-22 12:00:34 +0000284# This config should only be applied to code that needs to be explicitly
285# aware of whether we are using startup data or not.
286config("external_startup_data") {
287 if (v8_use_external_startup_data) {
288 defines = [ "V8_USE_EXTERNAL_STARTUP_DATA" ]
289 }
290}
291
Ben Murdochb8a8cc12014-11-26 15:28:44 +0000292config("features") {
293 visibility = [ ":*" ] # Only targets in this file can depend on this.
294
295 defines = []
296
Rubin Xu2894c6a2019-02-07 16:01:35 +0000297 if (v8_embedder_string != "") {
298 defines += [ "V8_EMBEDDER_STRING=\"$v8_embedder_string\"" ]
299 }
Ben Murdochbcf72ee2016-08-08 18:44:38 +0100300 if (v8_enable_disassembler) {
Ben Murdoch014dc512016-03-22 12:00:34 +0000301 defines += [ "ENABLE_DISASSEMBLER" ]
Ben Murdochb8a8cc12014-11-26 15:28:44 +0000302 }
Rubin Xu2894c6a2019-02-07 16:01:35 +0000303 if (v8_promise_internal_field_count != 0) {
304 defines +=
305 [ "V8_PROMISE_INTERNAL_FIELD_COUNT=${v8_promise_internal_field_count}" ]
306 }
307 defines +=
308 [ "V8_TYPED_ARRAY_MAX_SIZE_IN_HEAP=${v8_typed_array_max_size_in_heap}" ]
309 if (v8_enable_future) {
310 defines += [ "V8_ENABLE_FUTURE" ]
311 }
Ben Murdochbcf72ee2016-08-08 18:44:38 +0100312 if (v8_enable_gdbjit) {
Ben Murdoch014dc512016-03-22 12:00:34 +0000313 defines += [ "ENABLE_GDB_JIT_INTERFACE" ]
Ben Murdochb8a8cc12014-11-26 15:28:44 +0000314 }
Ben Murdoch62ed6312017-06-06 11:06:27 +0100315 if (v8_enable_vtunejit) {
316 defines += [ "ENABLE_VTUNE_JIT_INTERFACE" ]
317 }
Rubin Xu2894c6a2019-02-07 16:01:35 +0000318 if (v8_enable_minor_mc) {
319 defines += [ "ENABLE_MINOR_MC" ]
320 }
321 if (v8_enable_pointer_compression) {
322 defines += [ "V8_COMPRESS_POINTERS" ]
323 }
Ben Murdoch62ed6312017-06-06 11:06:27 +0100324 if (v8_enable_object_print) {
Ben Murdoch014dc512016-03-22 12:00:34 +0000325 defines += [ "OBJECT_PRINT" ]
Ben Murdochb8a8cc12014-11-26 15:28:44 +0000326 }
Ben Murdochbcf72ee2016-08-08 18:44:38 +0100327 if (v8_enable_verify_heap) {
Ben Murdoch014dc512016-03-22 12:00:34 +0000328 defines += [ "VERIFY_HEAP" ]
Ben Murdochb8a8cc12014-11-26 15:28:44 +0000329 }
Ben Murdoch62ed6312017-06-06 11:06:27 +0100330 if (v8_enable_verify_predictable) {
331 defines += [ "VERIFY_PREDICTABLE" ]
332 }
333 if (v8_enable_trace_maps) {
Rubin Xu2894c6a2019-02-07 16:01:35 +0000334 defines += [ "V8_TRACE_MAPS" ]
335 }
336 if (v8_enable_trace_ignition) {
337 defines += [ "V8_TRACE_IGNITION" ]
338 }
339 if (v8_enable_trace_feedback_updates) {
340 defines += [ "V8_TRACE_FEEDBACK_UPDATES" ]
341 }
342 if (v8_enable_test_features) {
343 defines += [ "V8_ENABLE_ALLOCATION_TIMEOUT" ]
344 defines += [ "V8_ENABLE_FORCE_SLOW_PATH" ]
Ben Murdoch62ed6312017-06-06 11:06:27 +0100345 }
346 if (v8_enable_v8_checks) {
347 defines += [ "V8_ENABLE_CHECKS" ]
348 }
Ben Murdochbcf72ee2016-08-08 18:44:38 +0100349 if (v8_interpreted_regexp) {
Ben Murdoch014dc512016-03-22 12:00:34 +0000350 defines += [ "V8_INTERPRETED_REGEXP" ]
Ben Murdochb8a8cc12014-11-26 15:28:44 +0000351 }
Ben Murdochbcf72ee2016-08-08 18:44:38 +0100352 if (v8_deprecation_warnings) {
Ben Murdoch014dc512016-03-22 12:00:34 +0000353 defines += [ "V8_DEPRECATION_WARNINGS" ]
Ben Murdochb8a8cc12014-11-26 15:28:44 +0000354 }
Ben Murdochbcf72ee2016-08-08 18:44:38 +0100355 if (v8_imminent_deprecation_warnings) {
356 defines += [ "V8_IMMINENT_DEPRECATION_WARNINGS" ]
357 }
358 if (v8_enable_i18n_support) {
Rubin Xu2894c6a2019-02-07 16:01:35 +0000359 defines += [ "V8_INTL_SUPPORT" ]
Ben Murdochb8a8cc12014-11-26 15:28:44 +0000360 }
Ben Murdochbcf72ee2016-08-08 18:44:38 +0100361 if (v8_enable_handle_zapping) {
Ben Murdoch014dc512016-03-22 12:00:34 +0000362 defines += [ "ENABLE_HANDLE_ZAPPING" ]
Ben Murdochb8a8cc12014-11-26 15:28:44 +0000363 }
Rubin Xu2894c6a2019-02-07 16:01:35 +0000364 if (v8_use_snapshot) {
365 defines += [ "V8_USE_SNAPSHOT" ]
366 if (v8_perf_prof_unwinding_info) {
367 defines += [ "V8_USE_SNAPSHOT_WITH_UNWINDING_INFO" ]
368 }
369 }
Ben Murdochbcf72ee2016-08-08 18:44:38 +0100370 if (v8_use_external_startup_data) {
Ben Murdoch014dc512016-03-22 12:00:34 +0000371 defines += [ "V8_USE_EXTERNAL_STARTUP_DATA" ]
Ben Murdochb8a8cc12014-11-26 15:28:44 +0000372 }
Rubin Xu2894c6a2019-02-07 16:01:35 +0000373 if (v8_enable_concurrent_marking) {
374 defines += [ "V8_CONCURRENT_MARKING" ]
375 }
376 if (v8_check_microtasks_scopes_consistency) {
377 defines += [ "V8_CHECK_MICROTASKS_SCOPES_CONSISTENCY" ]
378 }
379 if (v8_enable_embedded_builtins) {
380 defines += [ "V8_EMBEDDED_BUILTINS" ]
381 }
382 if (v8_enable_embedded_bytecode_handlers) {
383 defines += [ "V8_EMBEDDED_BYTECODE_HANDLERS" ]
384 }
385 if (v8_use_multi_snapshots) {
386 defines += [ "V8_MULTI_SNAPSHOTS" ]
387 }
Ben Murdochb8a8cc12014-11-26 15:28:44 +0000388}
389
390config("toolchain") {
391 visibility = [ ":*" ] # Only targets in this file can depend on this.
392
393 defines = []
394 cflags = []
Ben Murdoch13e2dad2016-09-16 13:49:30 +0100395 ldflags = []
Ben Murdochb8a8cc12014-11-26 15:28:44 +0000396
Ben Murdochf91f0612016-11-29 16:50:11 +0000397 if (v8_current_cpu == "arm") {
Ben Murdoch014dc512016-03-22 12:00:34 +0000398 defines += [ "V8_TARGET_ARCH_ARM" ]
Ben Murdochf3b273f2017-01-17 12:11:28 +0000399 if (arm_version >= 7) {
Ben Murdoch3b9bc312016-06-02 14:46:10 +0100400 defines += [ "CAN_USE_ARMV7_INSTRUCTIONS" ]
401 }
402 if (arm_fpu == "vfpv3-d16") {
403 defines += [ "CAN_USE_VFP3_INSTRUCTIONS" ]
404 } else if (arm_fpu == "vfpv3") {
Ben Murdoch014dc512016-03-22 12:00:34 +0000405 defines += [
Ben Murdoch014dc512016-03-22 12:00:34 +0000406 "CAN_USE_VFP3_INSTRUCTIONS",
407 "CAN_USE_VFP32DREGS",
Ben Murdoch3b9bc312016-06-02 14:46:10 +0100408 ]
409 } else if (arm_fpu == "neon") {
410 defines += [
411 "CAN_USE_VFP3_INSTRUCTIONS",
412 "CAN_USE_VFP32DREGS",
413 "CAN_USE_NEON",
Ben Murdoch014dc512016-03-22 12:00:34 +0000414 ]
415 }
Ben Murdochbcf72ee2016-08-08 18:44:38 +0100416
Ben Murdoch014dc512016-03-22 12:00:34 +0000417 # TODO(jochen): Add support for arm_test_noprobe.
Ben Murdoch3b9bc312016-06-02 14:46:10 +0100418
419 if (current_cpu != "arm") {
420 # These defines ares used for the ARM simulator.
421 if (arm_float_abi == "hard") {
422 defines += [ "USE_EABI_HARDFLOAT=1" ]
423 } else if (arm_float_abi == "softfp") {
424 defines += [ "USE_EABI_HARDFLOAT=0" ]
425 }
426 }
Ben Murdoch014dc512016-03-22 12:00:34 +0000427 }
Ben Murdochf91f0612016-11-29 16:50:11 +0000428 if (v8_current_cpu == "arm64") {
Ben Murdoch014dc512016-03-22 12:00:34 +0000429 defines += [ "V8_TARGET_ARCH_ARM64" ]
430 }
Ben Murdochbcf72ee2016-08-08 18:44:38 +0100431
Ben Murdochf3b273f2017-01-17 12:11:28 +0000432 # Mips64el/mipsel simulators.
433 if (is_target_simulator &&
434 (v8_current_cpu == "mipsel" || v8_current_cpu == "mips64el")) {
435 defines += [ "_MIPS_TARGET_SIMULATOR" ]
436 }
437
Rubin Xu2894c6a2019-02-07 16:01:35 +0000438 if (v8_current_cpu == "mipsel" || v8_current_cpu == "mips") {
Ben Murdoch014dc512016-03-22 12:00:34 +0000439 defines += [ "V8_TARGET_ARCH_MIPS" ]
Ben Murdoch3b9bc312016-06-02 14:46:10 +0100440 if (v8_can_use_fpu_instructions) {
441 defines += [ "CAN_USE_FPU_INSTRUCTIONS" ]
442 }
443 if (v8_use_mips_abi_hardfloat) {
444 defines += [
445 "__mips_hard_float=1",
446 "CAN_USE_FPU_INSTRUCTIONS",
447 ]
448 } else {
449 defines += [ "__mips_soft_float=1" ]
450 }
451 if (mips_arch_variant == "r6") {
452 defines += [
453 "_MIPS_ARCH_MIPS32R6",
454 "FPU_MODE_FP64",
455 ]
Rubin Xu2894c6a2019-02-07 16:01:35 +0000456 if (mips_use_msa) {
457 defines += [ "_MIPS_MSA" ]
458 }
Ben Murdoch3b9bc312016-06-02 14:46:10 +0100459 } else if (mips_arch_variant == "r2") {
460 defines += [ "_MIPS_ARCH_MIPS32R2" ]
461 if (mips_fpu_mode == "fp64") {
462 defines += [ "FPU_MODE_FP64" ]
463 } else if (mips_fpu_mode == "fpxx") {
464 defines += [ "FPU_MODE_FPXX" ]
465 } else if (mips_fpu_mode == "fp32") {
466 defines += [ "FPU_MODE_FP32" ]
467 }
468 } else if (mips_arch_variant == "r1") {
469 defines += [ "FPU_MODE_FP32" ]
470 }
Ben Murdochbcf72ee2016-08-08 18:44:38 +0100471
Ben Murdoch3b9bc312016-06-02 14:46:10 +0100472 # TODO(jochen): Add support for mips_arch_variant rx and loongson.
Ben Murdoch014dc512016-03-22 12:00:34 +0000473 }
Ben Murdochbcf72ee2016-08-08 18:44:38 +0100474
Rubin Xu2894c6a2019-02-07 16:01:35 +0000475 if (v8_current_cpu == "mips64el" || v8_current_cpu == "mips64") {
Ben Murdoch014dc512016-03-22 12:00:34 +0000476 defines += [ "V8_TARGET_ARCH_MIPS64" ]
Ben Murdoch3b9bc312016-06-02 14:46:10 +0100477 if (v8_can_use_fpu_instructions) {
478 defines += [ "CAN_USE_FPU_INSTRUCTIONS" ]
479 }
Ben Murdochbcf72ee2016-08-08 18:44:38 +0100480
Rubin Xu2894c6a2019-02-07 16:01:35 +0000481 if (host_byteorder == "little") {
482 defines += [ "V8_TARGET_ARCH_MIPS64_LE" ]
483 } else if (host_byteorder == "big") {
484 defines += [ "V8_TARGET_ARCH_MIPS64_BE" ]
485 }
Ben Murdoch3b9bc312016-06-02 14:46:10 +0100486 if (v8_use_mips_abi_hardfloat) {
487 defines += [
488 "__mips_hard_float=1",
489 "CAN_USE_FPU_INSTRUCTIONS",
490 ]
491 } else {
492 defines += [ "__mips_soft_float=1" ]
493 }
494 if (mips_arch_variant == "r6") {
495 defines += [ "_MIPS_ARCH_MIPS64R6" ]
Rubin Xu2894c6a2019-02-07 16:01:35 +0000496 if (mips_use_msa) {
497 defines += [ "_MIPS_MSA" ]
498 }
Ben Murdoch3b9bc312016-06-02 14:46:10 +0100499 } else if (mips_arch_variant == "r2") {
500 defines += [ "_MIPS_ARCH_MIPS64R2" ]
501 }
Ben Murdoch014dc512016-03-22 12:00:34 +0000502 }
Ben Murdochf91f0612016-11-29 16:50:11 +0000503 if (v8_current_cpu == "s390" || v8_current_cpu == "s390x") {
Ben Murdoch014dc512016-03-22 12:00:34 +0000504 defines += [ "V8_TARGET_ARCH_S390" ]
Ben Murdochf91f0612016-11-29 16:50:11 +0000505 if (v8_current_cpu == "s390x") {
Ben Murdoch13e2dad2016-09-16 13:49:30 +0100506 defines += [ "V8_TARGET_ARCH_S390X" ]
507 }
Rubin Xu2894c6a2019-02-07 16:01:35 +0000508 if (host_byteorder == "little") {
Ben Murdoch13e2dad2016-09-16 13:49:30 +0100509 defines += [ "V8_TARGET_ARCH_S390_LE_SIM" ]
Rubin Xu2894c6a2019-02-07 16:01:35 +0000510 } else {
511 cflags += [ "-march=z196" ]
Ben Murdoch13e2dad2016-09-16 13:49:30 +0100512 }
Ben Murdochbcf72ee2016-08-08 18:44:38 +0100513 }
Rubin Xu2894c6a2019-02-07 16:01:35 +0000514 if (v8_current_cpu == "ppc" || v8_current_cpu == "ppc64") {
515 defines += [ "V8_TARGET_ARCH_PPC" ]
516 if (v8_current_cpu == "ppc64") {
517 defines += [ "V8_TARGET_ARCH_PPC64" ]
518 }
519 if (host_byteorder == "little") {
520 defines += [ "V8_TARGET_ARCH_PPC_LE" ]
521 } else if (host_byteorder == "big") {
522 defines += [ "V8_TARGET_ARCH_PPC_BE" ]
523 if (current_os == "aix") {
524 cflags += [
525 # Work around AIX ceil, trunc and round oddities.
526 "-mcpu=power5+",
527 "-mfprnd",
528
529 # Work around AIX assembler popcntb bug.
530 "-mno-popcntb",
531 ]
532 }
533 }
534 }
535
Ben Murdochf91f0612016-11-29 16:50:11 +0000536 if (v8_current_cpu == "x86") {
Ben Murdoch014dc512016-03-22 12:00:34 +0000537 defines += [ "V8_TARGET_ARCH_IA32" ]
Ben Murdoch13e2dad2016-09-16 13:49:30 +0100538 if (is_win) {
539 # Ensure no surprising artifacts from 80bit double math with x86.
540 cflags += [ "/arch:SSE2" ]
541 }
Ben Murdochb8a8cc12014-11-26 15:28:44 +0000542 }
Ben Murdochf91f0612016-11-29 16:50:11 +0000543 if (v8_current_cpu == "x64") {
Ben Murdoch014dc512016-03-22 12:00:34 +0000544 defines += [ "V8_TARGET_ARCH_X64" ]
Ben Murdoch13e2dad2016-09-16 13:49:30 +0100545 if (is_win) {
546 # Increase the initial stack size. The default is 1MB, this is 2MB. This
547 # applies only to executables and shared libraries produced by V8 since
548 # ldflags are not pushed to dependants.
549 ldflags += [ "/STACK:2097152" ]
550 }
Ben Murdochb8a8cc12014-11-26 15:28:44 +0000551 }
Ben Murdochf91f0612016-11-29 16:50:11 +0000552 if (is_android && v8_android_log_stdout) {
553 defines += [ "V8_ANDROID_LOG_STDOUT" ]
554 }
Ben Murdochbcf72ee2016-08-08 18:44:38 +0100555
Ben Murdoch13e2dad2016-09-16 13:49:30 +0100556 # TODO(jochen): Support v8_enable_prof on Windows.
Ben Murdochb8a8cc12014-11-26 15:28:44 +0000557 # TODO(jochen): Add support for compiling with simulators.
558
Rubin Xu2894c6a2019-02-07 16:01:35 +0000559 if (v8_enable_debugging_features) {
Ben Murdochf91f0612016-11-29 16:50:11 +0000560 if (is_linux && v8_enable_backtrace) {
561 ldflags += [ "-rdynamic" ]
562 }
563
Ben Murdoch62ed6312017-06-06 11:06:27 +0100564 defines += [ "DEBUG" ]
Ben Murdoch13e2dad2016-09-16 13:49:30 +0100565 if (v8_enable_slow_dchecks) {
Ben Murdochbcf72ee2016-08-08 18:44:38 +0100566 defines += [ "ENABLE_SLOW_DCHECKS" ]
567 }
Ben Murdoch13e2dad2016-09-16 13:49:30 +0100568 } else if (dcheck_always_on) {
569 defines += [ "DEBUG" ]
Ben Murdochb8a8cc12014-11-26 15:28:44 +0000570 }
Ben Murdochf3b273f2017-01-17 12:11:28 +0000571
Ben Murdoch62ed6312017-06-06 11:06:27 +0100572 if (v8_enable_verify_csa) {
573 defines += [ "ENABLE_VERIFY_CSA" ]
574 }
575
Rubin Xu2894c6a2019-02-07 16:01:35 +0000576 if (!v8_untrusted_code_mitigations) {
577 defines += [ "DISABLE_UNTRUSTED_CODE_MITIGATIONS" ]
578 }
579
Ben Murdochf3b273f2017-01-17 12:11:28 +0000580 if (v8_no_inline) {
581 cflags += [
582 "-fno-inline-functions",
583 "-fno-inline",
584 ]
585 }
Ben Murdochc8c1d9e2017-03-08 14:04:23 +0000586
587 if (is_clang) {
588 cflags += [
Rubin Xu2894c6a2019-02-07 16:01:35 +0000589 "-Wmissing-field-initializers",
Ben Murdochc8c1d9e2017-03-08 14:04:23 +0000590
591 # TODO(hans): Remove once http://crbug.com/428099 is resolved.
592 "-Winconsistent-missing-override",
593 ]
Rubin Xu2894c6a2019-02-07 16:01:35 +0000594
595 if (v8_current_cpu != "mips" && v8_current_cpu != "mipsel") {
596 # We exclude MIPS because the IsMipsArchVariant macro causes trouble.
597 cflags += [ "-Wunreachable-code" ]
598 }
599
600 if (v8_current_cpu == "x64" || v8_current_cpu == "arm64" ||
601 v8_current_cpu == "mips64el") {
602 cflags += [ "-Wshorten-64-to-32" ]
603 }
Ben Murdochc8c1d9e2017-03-08 14:04:23 +0000604 }
Rubin Xu2894c6a2019-02-07 16:01:35 +0000605
606 if (is_win) {
607 cflags += [
608 "/wd4245", # Conversion with signed/unsigned mismatch.
609 "/wd4267", # Conversion with possible loss of data.
610 "/wd4324", # Padding structure due to alignment.
611 "/wd4701", # Potentially uninitialized local variable.
612 "/wd4702", # Unreachable code.
613 "/wd4703", # Potentially uninitialized local pointer variable.
614 "/wd4709", # Comma operator within array index expr (bugged).
615 "/wd4714", # Function marked forceinline not inlined.
616
617 # MSVC assumes that control can get past an exhaustive switch and then
618 # warns if there's no return there (see https://crbug.com/v8/7658)
619 "/wd4715", # Not all control paths return a value.
620
621 "/wd4718", # Recursive call has no side-effect.
622 "/wd4723", # https://crbug.com/v8/7771
623 "/wd4724", # https://crbug.com/v8/7771
624 "/wd4800", # Forcing value to bool.
625 ]
626 }
627
628 if (!is_clang && !is_win) {
629 cflags += [
630 # Disable gcc warnings for optimizations based on the assumption that
631 # signed overflow does not occur. Generates false positives (see
632 # http://crbug.com/v8/6341).
633 "-Wno-strict-overflow",
634
635 # GCC assumes that control can get past an exhaustive switch and then
636 # warns if there's no return there (see https://crbug.com/v8/7658).
637 "-Wno-return-type",
638 ]
639 }
640}
641
642# Configs for code coverage with gcov. Separate configs for cflags and ldflags
643# to selectively influde cflags in non-test targets only.
644config("v8_gcov_coverage_cflags") {
645 cflags = [
646 "-fprofile-arcs",
647 "-ftest-coverage",
648 ]
649}
650
651config("v8_gcov_coverage_ldflags") {
652 ldflags = [ "-fprofile-arcs" ]
Ben Murdochb8a8cc12014-11-26 15:28:44 +0000653}
654
655###############################################################################
656# Actions
657#
658
659action("js2c") {
660 visibility = [ ":*" ] # Only targets in this file can depend on this.
661
662 script = "tools/js2c.py"
663
664 # The script depends on this other script, this rule causes a rebuild if it
665 # changes.
Ben Murdoch3b9bc312016-06-02 14:46:10 +0100666 inputs = [
667 "tools/jsmin.py",
668 ]
Ben Murdochb8a8cc12014-11-26 15:28:44 +0000669
Ben Murdoch3b9bc312016-06-02 14:46:10 +0100670 # NOSORT
Ben Murdochb8a8cc12014-11-26 15:28:44 +0000671 sources = [
Ben Murdoch014dc512016-03-22 12:00:34 +0000672 "src/js/macros.py",
673 "src/messages.h",
674 "src/js/prologue.js",
Ben Murdoch014dc512016-03-22 12:00:34 +0000675 "src/js/array.js",
Ben Murdoch014dc512016-03-22 12:00:34 +0000676 "src/js/typedarray.js",
Ben Murdochb8a8cc12014-11-26 15:28:44 +0000677 ]
678
679 outputs = [
Ben Murdoch014dc512016-03-22 12:00:34 +0000680 "$target_gen_dir/libraries.cc",
Ben Murdochb8a8cc12014-11-26 15:28:44 +0000681 ]
682
683 if (v8_enable_i18n_support) {
Rubin Xu2894c6a2019-02-07 16:01:35 +0000684 sources += [ "src/js/intl.js" ]
Ben Murdochb8a8cc12014-11-26 15:28:44 +0000685 }
686
687 args = [
Ben Murdoch014dc512016-03-22 12:00:34 +0000688 rebase_path("$target_gen_dir/libraries.cc", root_build_dir),
689 "CORE",
690 ] + rebase_path(sources, root_build_dir)
Ben Murdochb8a8cc12014-11-26 15:28:44 +0000691
692 if (v8_use_external_startup_data) {
693 outputs += [ "$target_gen_dir/libraries.bin" ]
694 args += [
695 "--startup_blob",
Ben Murdoch014dc512016-03-22 12:00:34 +0000696 rebase_path("$target_gen_dir/libraries.bin", root_build_dir),
Ben Murdochb8a8cc12014-11-26 15:28:44 +0000697 ]
698 }
699}
700
Ben Murdoch014dc512016-03-22 12:00:34 +0000701action("js2c_extras") {
702 visibility = [ ":*" ] # Only targets in this file can depend on this.
703
704 script = "tools/js2c.py"
705
706 # The script depends on this other script, this rule causes a rebuild if it
707 # changes.
Ben Murdoch3b9bc312016-06-02 14:46:10 +0100708 inputs = [
709 "tools/jsmin.py",
710 ]
Ben Murdoch014dc512016-03-22 12:00:34 +0000711
712 sources = v8_extra_library_files
713
714 outputs = [
715 "$target_gen_dir/extras-libraries.cc",
716 ]
717
718 args = [
Ben Murdoch3b9bc312016-06-02 14:46:10 +0100719 rebase_path("$target_gen_dir/extras-libraries.cc", root_build_dir),
Ben Murdoch014dc512016-03-22 12:00:34 +0000720 "EXTRAS",
721 ] + rebase_path(sources, root_build_dir)
722
723 if (v8_use_external_startup_data) {
724 outputs += [ "$target_gen_dir/libraries_extras.bin" ]
725 args += [
726 "--startup_blob",
727 rebase_path("$target_gen_dir/libraries_extras.bin", root_build_dir),
728 ]
729 }
730}
731
732action("js2c_experimental_extras") {
733 visibility = [ ":*" ] # Only targets in this file can depend on this.
734
735 script = "tools/js2c.py"
736
737 # The script depends on this other script, this rule causes a rebuild if it
738 # changes.
Ben Murdoch3b9bc312016-06-02 14:46:10 +0100739 inputs = [
740 "tools/jsmin.py",
741 ]
Ben Murdoch014dc512016-03-22 12:00:34 +0000742
743 sources = v8_experimental_extra_library_files
744
745 outputs = [
746 "$target_gen_dir/experimental-extras-libraries.cc",
747 ]
748
749 args = [
750 rebase_path("$target_gen_dir/experimental-extras-libraries.cc",
751 root_build_dir),
752 "EXPERIMENTAL_EXTRAS",
753 ] + rebase_path(sources, root_build_dir)
754
755 if (v8_use_external_startup_data) {
756 outputs += [ "$target_gen_dir/libraries_experimental_extras.bin" ]
757 args += [
758 "--startup_blob",
Ben Murdoch3b9bc312016-06-02 14:46:10 +0100759 rebase_path("$target_gen_dir/libraries_experimental_extras.bin",
760 root_build_dir),
Ben Murdoch014dc512016-03-22 12:00:34 +0000761 ]
762 }
763}
764
765action("d8_js2c") {
766 visibility = [ ":*" ] # Only targets in this file can depend on this.
767
768 script = "tools/js2c.py"
769
Ben Murdoch3b9bc312016-06-02 14:46:10 +0100770 # NOSORT
Ben Murdoch014dc512016-03-22 12:00:34 +0000771 inputs = [
772 "src/d8.js",
773 "src/js/macros.py",
774 ]
775
776 outputs = [
777 "$target_gen_dir/d8-js.cc",
778 ]
779
780 args = rebase_path(outputs, root_build_dir) + [ "D8" ] +
781 rebase_path(inputs, root_build_dir)
782}
783
Ben Murdochf91f0612016-11-29 16:50:11 +0000784if (is_android && enable_java_templates) {
Ben Murdoch014dc512016-03-22 12:00:34 +0000785 android_assets("v8_external_startup_data_assets") {
786 if (v8_use_external_startup_data) {
Rubin Xu2894c6a2019-02-07 16:01:35 +0000787 # We don't support side-by-side snapshots on Android within Chromium.
788 assert(!v8_use_multi_snapshots)
Ben Murdoch014dc512016-03-22 12:00:34 +0000789 deps = [
790 "//v8",
791 ]
Ben Murdoch13e2dad2016-09-16 13:49:30 +0100792 sources = [
793 "$root_out_dir/natives_blob.bin",
794 ]
795 renaming_sources = [ "$root_out_dir/snapshot_blob.bin" ]
796 if (current_cpu == "arm" || current_cpu == "x86" ||
797 current_cpu == "mipsel") {
798 renaming_destinations = [ "snapshot_blob_32.bin" ]
799 } else {
800 renaming_destinations = [ "snapshot_blob_64.bin" ]
801 }
Ben Murdoch014dc512016-03-22 12:00:34 +0000802 disable_compression = true
803 }
804 }
805}
806
Ben Murdochb8a8cc12014-11-26 15:28:44 +0000807if (v8_use_external_startup_data) {
808 action("natives_blob") {
809 visibility = [ ":*" ] # Only targets in this file can depend on this.
810
811 deps = [
812 ":js2c",
Ben Murdoch014dc512016-03-22 12:00:34 +0000813 ":js2c_experimental_extras",
Ben Murdoch3b9bc312016-06-02 14:46:10 +0100814 ":js2c_extras",
Ben Murdochb8a8cc12014-11-26 15:28:44 +0000815 ]
816
Ben Murdoch3b9bc312016-06-02 14:46:10 +0100817 # NOSORT
Ben Murdochb8a8cc12014-11-26 15:28:44 +0000818 sources = [
819 "$target_gen_dir/libraries.bin",
Ben Murdoch014dc512016-03-22 12:00:34 +0000820 "$target_gen_dir/libraries_extras.bin",
821 "$target_gen_dir/libraries_experimental_extras.bin",
Ben Murdochb8a8cc12014-11-26 15:28:44 +0000822 ]
823
824 outputs = [
Ben Murdoch014dc512016-03-22 12:00:34 +0000825 "$root_out_dir/natives_blob.bin",
Ben Murdochb8a8cc12014-11-26 15:28:44 +0000826 ]
827
Rubin Xu2894c6a2019-02-07 16:01:35 +0000828 data = [
829 "$root_out_dir/natives_blob.bin",
830 ]
831
Ben Murdochb8a8cc12014-11-26 15:28:44 +0000832 script = "tools/concatenate-files.py"
833
834 args = rebase_path(sources + outputs, root_build_dir)
835 }
836}
837
838action("postmortem-metadata") {
Ben Murdoch014dc512016-03-22 12:00:34 +0000839 # Only targets in this file and the top-level visibility target can
840 # depend on this.
841 visibility = [
842 ":*",
843 "//:gn_visibility",
844 ]
Ben Murdochb8a8cc12014-11-26 15:28:44 +0000845
846 script = "tools/gen-postmortem-metadata.py"
847
Ben Murdoch3b9bc312016-06-02 14:46:10 +0100848 # NOSORT
Ben Murdochb8a8cc12014-11-26 15:28:44 +0000849 sources = [
850 "src/objects.h",
851 "src/objects-inl.h",
Rubin Xu2894c6a2019-02-07 16:01:35 +0000852 "src/objects/code-inl.h",
853 "src/objects/code.h",
854 "src/objects/data-handler.h",
855 "src/objects/data-handler-inl.h",
856 "src/objects/fixed-array-inl.h",
857 "src/objects/fixed-array.h",
858 "src/objects/js-array-inl.h",
859 "src/objects/js-array.h",
860 "src/objects/js-array-buffer-inl.h",
861 "src/objects/js-array-buffer.h",
862 "src/objects/js-regexp-inl.h",
863 "src/objects/js-regexp.h",
864 "src/objects/js-regexp-string-iterator-inl.h",
865 "src/objects/js-regexp-string-iterator.h",
866 "src/objects/map.h",
867 "src/objects/map-inl.h",
868 "src/objects/scope-info.h",
869 "src/objects/script.h",
870 "src/objects/script-inl.h",
871 "src/objects/shared-function-info.h",
872 "src/objects/shared-function-info-inl.h",
873 "src/objects/string.h",
874 "src/objects/string-inl.h",
Ben Murdochb8a8cc12014-11-26 15:28:44 +0000875 ]
876
877 outputs = [
Ben Murdoch014dc512016-03-22 12:00:34 +0000878 "$target_gen_dir/debug-support.cc",
Ben Murdochb8a8cc12014-11-26 15:28:44 +0000879 ]
880
Ben Murdoch014dc512016-03-22 12:00:34 +0000881 args = rebase_path(outputs, root_build_dir) +
882 rebase_path(sources, root_build_dir)
Ben Murdochb8a8cc12014-11-26 15:28:44 +0000883}
884
Rubin Xu2894c6a2019-02-07 16:01:35 +0000885torque_files = [
886 "src/builtins/base.tq",
887 "src/builtins/array.tq",
888 "src/builtins/array-copywithin.tq",
889 "src/builtins/array-foreach.tq",
890 "src/builtins/array-reverse.tq",
891 "src/builtins/typed-array.tq",
892 "src/builtins/data-view.tq",
893 "test/torque/test-torque.tq",
894 "third_party/v8/builtins/array-sort.tq",
895]
896
897torque_modules = [
898 "base",
899 "array",
900 "typed-array",
901 "data-view",
902 "test",
903]
904
905action("run_torque") {
906 visibility = [
907 ":*",
908 "tools/gcmole/:*",
909 "test/cctest/:*",
910 ]
911
912 # We reuse the snapshot toolchain for building torque to not build v8_libbase
913 # on the host more than once. On mips with big endian, the snapshot toolchain
914 # is the target toolchain and, hence, can't be used.
915 v8_torque_toolchain = v8_snapshot_toolchain
916 if (host_cpu == "x64" &&
917 (v8_current_cpu == "mips" || v8_current_cpu == "mips64")) {
918 v8_torque_toolchain = "//build/toolchain/linux:clang_x64"
919 }
Ben Murdochb8a8cc12014-11-26 15:28:44 +0000920
Ben Murdoch014dc512016-03-22 12:00:34 +0000921 deps = [
Rubin Xu2894c6a2019-02-07 16:01:35 +0000922 ":torque($v8_torque_toolchain)",
Ben Murdoch014dc512016-03-22 12:00:34 +0000923 ]
Ben Murdochb8a8cc12014-11-26 15:28:44 +0000924
925 script = "tools/run.py"
926
Rubin Xu2894c6a2019-02-07 16:01:35 +0000927 sources = torque_files
Ben Murdochf91f0612016-11-29 16:50:11 +0000928
Ben Murdochb8a8cc12014-11-26 15:28:44 +0000929 outputs = [
Rubin Xu2894c6a2019-02-07 16:01:35 +0000930 "$target_gen_dir/torque-generated/builtin-definitions-from-dsl.h",
Ben Murdochb8a8cc12014-11-26 15:28:44 +0000931 ]
Rubin Xu2894c6a2019-02-07 16:01:35 +0000932 foreach(module, torque_modules) {
933 outputs += [
934 "$target_gen_dir/torque-generated/builtins-$module-from-dsl-gen.cc",
935 "$target_gen_dir/torque-generated/builtins-$module-from-dsl-gen.h",
936 ]
937 }
Ben Murdochb8a8cc12014-11-26 15:28:44 +0000938
939 args = [
Rubin Xu2894c6a2019-02-07 16:01:35 +0000940 "./" + rebase_path(get_label_info(":torque($v8_torque_toolchain)",
941 "root_out_dir") + "/torque",
Ben Murdochb8a8cc12014-11-26 15:28:44 +0000942 root_build_dir),
Rubin Xu2894c6a2019-02-07 16:01:35 +0000943 "-o",
944 rebase_path("$target_gen_dir/torque-generated", root_build_dir),
Ben Murdochb8a8cc12014-11-26 15:28:44 +0000945 ]
946
Rubin Xu2894c6a2019-02-07 16:01:35 +0000947 foreach(file, torque_files) {
948 args += [ rebase_path(file, root_build_dir) ]
Ben Murdochf91f0612016-11-29 16:50:11 +0000949 }
950}
951
Rubin Xu2894c6a2019-02-07 16:01:35 +0000952v8_header_set("torque_generated_core") {
Ben Murdochf91f0612016-11-29 16:50:11 +0000953 visibility = [ ":*" ] # Only targets in this file can depend on this.
954
955 deps = [
Rubin Xu2894c6a2019-02-07 16:01:35 +0000956 ":run_torque",
Ben Murdochf91f0612016-11-29 16:50:11 +0000957 ]
958
Rubin Xu2894c6a2019-02-07 16:01:35 +0000959 sources = [
960 "$target_gen_dir/torque-generated/builtin-definitions-from-dsl.h",
Ben Murdochf91f0612016-11-29 16:50:11 +0000961 ]
962
Rubin Xu2894c6a2019-02-07 16:01:35 +0000963 configs = [ ":internal_config" ]
964}
965
966v8_source_set("torque_generated_initializers") {
967 visibility = [ ":*" ] # Only targets in this file can depend on this.
968
969 deps = [
970 ":run_torque",
971 ]
972
973 if (v8_enable_i18n_support) {
974 public_deps = [
975 "//third_party/icu",
976 ]
977 }
978
Ben Murdochf91f0612016-11-29 16:50:11 +0000979 sources = []
Rubin Xu2894c6a2019-02-07 16:01:35 +0000980 foreach(module, torque_modules) {
981 sources += [
982 "$target_gen_dir/torque-generated/builtins-$module-from-dsl-gen.cc",
983 "$target_gen_dir/torque-generated/builtins-$module-from-dsl-gen.h",
984 ]
985 }
Ben Murdochf91f0612016-11-29 16:50:11 +0000986
Rubin Xu2894c6a2019-02-07 16:01:35 +0000987 configs = [ ":internal_config" ]
988}
Ben Murdochf91f0612016-11-29 16:50:11 +0000989
Rubin Xu2894c6a2019-02-07 16:01:35 +0000990# Template to generate different V8 snapshots based on different runtime flags.
991# Can be invoked with run_mksnapshot(<name>). The target will resolve to
992# run_mksnapshot_<name>. If <name> is "default", no file suffixes will be used.
993# Otherwise files are suffixed, e.g. embedded_<name>.cc and
994# snapshot_blob_<name>.bin.
995#
996# The template exposes the variables:
997# args: additional flags for mksnapshots
998# embedded_suffix: a camel case suffix for method names in the embedded
999# snapshot.
1000template("run_mksnapshot") {
1001 name = target_name
1002 if (name == "default") {
1003 suffix = ""
1004 } else {
1005 suffix = "_$name"
1006 }
1007 action("run_mksnapshot_" + name) {
1008 visibility = [ ":*" ] # Only targets in this file can depend on this.
1009
1010 deps = [
1011 ":mksnapshot($v8_snapshot_toolchain)",
1012 ]
1013
1014 script = "tools/run.py"
1015
1016 sources = []
1017
1018 outputs = []
1019
1020 data = []
1021
1022 args = [
1023 "./" + rebase_path(get_label_info(":mksnapshot($v8_snapshot_toolchain)",
1024 "root_out_dir") + "/mksnapshot",
1025 root_build_dir),
1026 "--turbo_instruction_scheduling",
1027 ]
1028
1029 args += invoker.args
1030
1031 if (v8_enable_embedded_builtins) {
1032 outputs += [ "$target_gen_dir/embedded${suffix}.cc" ]
1033 args += [
1034 "--embedded_src",
1035 rebase_path("$target_gen_dir/embedded${suffix}.cc", root_build_dir),
1036 ]
1037 if (invoker.embedded_variant != "") {
1038 args += [
1039 "--embedded_variant",
1040 invoker.embedded_variant,
1041 ]
1042 }
1043 }
1044
1045 if (v8_random_seed != "0") {
1046 args += [
1047 "--random-seed",
1048 v8_random_seed,
1049 ]
1050 }
1051
1052 if (v8_os_page_size != "0") {
1053 args += [
1054 "--v8_os_page_size",
1055 v8_os_page_size,
1056 ]
1057 }
1058
1059 if (v8_perf_prof_unwinding_info) {
1060 args += [ "--perf-prof-unwinding-info" ]
1061 }
1062
1063 if (v8_use_external_startup_data) {
1064 outputs += [ "$root_out_dir/snapshot_blob${suffix}.bin" ]
1065 data += [ "$root_out_dir/snapshot_blob${suffix}.bin" ]
1066 args += [
1067 "--startup_blob",
1068 rebase_path("$root_out_dir/snapshot_blob${suffix}.bin", root_build_dir),
1069 ]
1070 } else {
1071 outputs += [ "$target_gen_dir/snapshot${suffix}.cc" ]
1072 args += [
1073 "--startup_src",
1074 rebase_path("$target_gen_dir/snapshot${suffix}.cc", root_build_dir),
1075 ]
1076 }
1077
1078 if (v8_embed_script != "") {
1079 sources += [ v8_embed_script ]
1080 args += [ rebase_path(v8_embed_script, root_build_dir) ]
1081 }
1082
1083 if (v8_enable_fast_mksnapshot) {
1084 args += [
1085 "--no-turbo-rewrite-far-jumps",
1086 "--no-turbo-verify-allocation",
1087 ]
1088
1089 if (v8_enable_debugging_features && v8_enable_slow_dchecks) {
1090 # mksnapshot only accepts this flag if ENABLE_SLOW_DCHECKS is defined.
1091 args += [ "--no-enable-slow-asserts" ]
1092 }
1093 }
1094 }
1095}
1096
1097if (v8_use_snapshot) {
1098 run_mksnapshot("default") {
1099 args = []
1100 if (v8_enable_embedded_builtins) {
1101 embedded_variant = "Default"
1102 }
1103 }
1104 if (v8_use_multi_snapshots) {
1105 run_mksnapshot("trusted") {
1106 args = [ "--no-untrusted-code-mitigations" ]
1107 if (v8_enable_embedded_builtins) {
1108 embedded_variant = "Trusted"
1109 }
1110 }
1111 }
Ben Murdochf91f0612016-11-29 16:50:11 +00001112}
1113
1114action("v8_dump_build_config") {
1115 script = "tools/testrunner/utils/dump_build_config.py"
1116 outputs = [
1117 "$root_out_dir/v8_build_config.json",
1118 ]
Rubin Xu2894c6a2019-02-07 16:01:35 +00001119 is_gcov_coverage = v8_code_coverage && !is_clang
Ben Murdochf91f0612016-11-29 16:50:11 +00001120 args = [
1121 rebase_path("$root_out_dir/v8_build_config.json", root_build_dir),
Ben Murdoch62ed6312017-06-06 11:06:27 +01001122 "current_cpu=\"$current_cpu\"",
Ben Murdochf91f0612016-11-29 16:50:11 +00001123 "dcheck_always_on=$dcheck_always_on",
Rubin Xu2894c6a2019-02-07 16:01:35 +00001124 "is_android=$is_android",
Ben Murdochf91f0612016-11-29 16:50:11 +00001125 "is_asan=$is_asan",
1126 "is_cfi=$is_cfi",
1127 "is_component_build=$is_component_build",
Rubin Xu2894c6a2019-02-07 16:01:35 +00001128 "is_debug=$v8_enable_debugging_features",
1129 "is_gcov_coverage=$is_gcov_coverage",
Ben Murdochf91f0612016-11-29 16:50:11 +00001130 "is_msan=$is_msan",
1131 "is_tsan=$is_tsan",
Rubin Xu2894c6a2019-02-07 16:01:35 +00001132 "is_ubsan_vptr=$is_ubsan_vptr",
Ben Murdochf91f0612016-11-29 16:50:11 +00001133 "target_cpu=\"$target_cpu\"",
Ben Murdoch62ed6312017-06-06 11:06:27 +01001134 "v8_current_cpu=\"$v8_current_cpu\"",
Ben Murdochf91f0612016-11-29 16:50:11 +00001135 "v8_enable_i18n_support=$v8_enable_i18n_support",
Rubin Xu2894c6a2019-02-07 16:01:35 +00001136 "v8_enable_verify_predictable=$v8_enable_verify_predictable",
Ben Murdochf91f0612016-11-29 16:50:11 +00001137 "v8_target_cpu=\"$v8_target_cpu\"",
1138 "v8_use_snapshot=$v8_use_snapshot",
1139 ]
Rubin Xu2894c6a2019-02-07 16:01:35 +00001140
1141 if (v8_current_cpu == "mips" || v8_current_cpu == "mipsel" ||
1142 v8_current_cpu == "mips64" || v8_current_cpu == "mips64el") {
1143 args += [
1144 "mips_arch_variant=\"$mips_arch_variant\"",
1145 "mips_use_msa=$mips_use_msa",
1146 ]
1147 }
Ben Murdochb8a8cc12014-11-26 15:28:44 +00001148}
1149
Ben Murdochb8a8cc12014-11-26 15:28:44 +00001150###############################################################################
1151# Source Sets (aka static libraries)
1152#
1153
Ben Murdoch13e2dad2016-09-16 13:49:30 +01001154source_set("v8_maybe_snapshot") {
1155 if (v8_use_snapshot && v8_use_external_startup_data) {
1156 public_deps = [
1157 ":v8_external_snapshot",
1158 ]
1159 } else if (v8_use_snapshot) {
1160 public_deps = [
1161 ":v8_snapshot",
1162 ]
1163 } else {
Ben Murdochf91f0612016-11-29 16:50:11 +00001164 # Ignore v8_use_external_startup_data setting if no snapshot is used.
Ben Murdoch13e2dad2016-09-16 13:49:30 +01001165 public_deps = [
Rubin Xu2894c6a2019-02-07 16:01:35 +00001166 ":v8_init",
Ben Murdoch13e2dad2016-09-16 13:49:30 +01001167 ":v8_nosnapshot",
1168 ]
1169 }
1170}
1171
Ben Murdochbcf72ee2016-08-08 18:44:38 +01001172v8_source_set("v8_nosnapshot") {
Ben Murdochb8a8cc12014-11-26 15:28:44 +00001173 visibility = [ ":*" ] # Only targets in this file can depend on this.
1174
1175 deps = [
1176 ":js2c",
Ben Murdoch014dc512016-03-22 12:00:34 +00001177 ":js2c_experimental_extras",
Ben Murdoch3b9bc312016-06-02 14:46:10 +01001178 ":js2c_extras",
Ben Murdochb8a8cc12014-11-26 15:28:44 +00001179 ":v8_base",
1180 ]
1181
1182 sources = [
Ben Murdoch3b9bc312016-06-02 14:46:10 +01001183 "$target_gen_dir/experimental-extras-libraries.cc",
Ben Murdoch014dc512016-03-22 12:00:34 +00001184 "$target_gen_dir/extras-libraries.cc",
Ben Murdoch3b9bc312016-06-02 14:46:10 +01001185 "$target_gen_dir/libraries.cc",
Rubin Xu2894c6a2019-02-07 16:01:35 +00001186 "src/snapshot/embedded-empty.cc",
Ben Murdoch014dc512016-03-22 12:00:34 +00001187 "src/snapshot/snapshot-empty.cc",
Ben Murdochb8a8cc12014-11-26 15:28:44 +00001188 ]
1189
Rubin Xu2894c6a2019-02-07 16:01:35 +00001190 if (use_jumbo_build == true) {
1191 jumbo_excluded_sources = [
1192 # TODO(mostynb@vewd.com): don't exclude these http://crbug.com/752428
1193 # Generated source, contains same variable names as libraries.cc
1194 "$target_gen_dir/experimental-extras-libraries.cc",
1195 "$target_gen_dir/libraries.cc",
1196 ]
1197 }
Ben Murdochb8a8cc12014-11-26 15:28:44 +00001198
Ben Murdochbcf72ee2016-08-08 18:44:38 +01001199 configs = [ ":internal_config" ]
Ben Murdochb8a8cc12014-11-26 15:28:44 +00001200}
1201
Rubin Xu2894c6a2019-02-07 16:01:35 +00001202if (v8_use_snapshot && !v8_use_external_startup_data) {
1203 v8_source_set("v8_snapshot") {
1204 # Only targets in this file and the top-level visibility target can
1205 # depend on this.
1206 visibility = [
1207 ":*",
1208 "//:gn_visibility",
1209 ]
1210
1211 deps = [
1212 ":js2c",
1213 ":js2c_experimental_extras",
1214 ":js2c_extras",
1215 ":v8_base",
1216 ]
1217 public_deps = [
1218 # This should be public so downstream targets can declare the snapshot
1219 # output file as their inputs.
1220 ":run_mksnapshot_default",
1221 ]
1222
1223 # Do not publicize any header to remove build dependency.
1224 public = []
1225
1226 sources = [
1227 "$target_gen_dir/experimental-extras-libraries.cc",
1228 "$target_gen_dir/extras-libraries.cc",
1229 "$target_gen_dir/libraries.cc",
1230 "$target_gen_dir/snapshot.cc",
1231 "src/setup-isolate-deserialize.cc",
1232 ]
1233
1234 if (v8_enable_embedded_builtins) {
1235 sources += [ "$target_gen_dir/embedded.cc" ]
1236 } else {
1237 sources += [ "src/snapshot/embedded-empty.cc" ]
1238 }
1239
1240 if (use_jumbo_build == true) {
1241 jumbo_excluded_sources = [
1242 # TODO(mostynb@vewd.com): don't exclude these http://crbug.com/752428
1243 # Generated source, contains same variable names as libraries.cc
1244 "$target_gen_dir/experimental-extras-libraries.cc",
1245 "$target_gen_dir/libraries.cc",
1246 ]
1247 }
1248
1249 configs = [ ":internal_config" ]
1250 }
1251}
1252
1253if (v8_use_snapshot && v8_use_external_startup_data) {
Ben Murdochbcf72ee2016-08-08 18:44:38 +01001254 v8_source_set("v8_external_snapshot") {
Ben Murdochb8a8cc12014-11-26 15:28:44 +00001255 visibility = [ ":*" ] # Only targets in this file can depend on this.
1256
1257 deps = [
1258 ":js2c",
Ben Murdoch014dc512016-03-22 12:00:34 +00001259 ":js2c_experimental_extras",
Ben Murdoch3b9bc312016-06-02 14:46:10 +01001260 ":js2c_extras",
Ben Murdochb8a8cc12014-11-26 15:28:44 +00001261 ":v8_base",
Ben Murdoch014dc512016-03-22 12:00:34 +00001262 ]
1263 public_deps = [
Ben Murdochb8a8cc12014-11-26 15:28:44 +00001264 ":natives_blob",
Rubin Xu2894c6a2019-02-07 16:01:35 +00001265 ":run_mksnapshot_default",
Ben Murdochb8a8cc12014-11-26 15:28:44 +00001266 ]
1267
Rubin Xu2894c6a2019-02-07 16:01:35 +00001268 if (v8_use_multi_snapshots) {
1269 public_deps += [ ":run_mksnapshot_trusted" ]
1270 }
1271
Ben Murdochb8a8cc12014-11-26 15:28:44 +00001272 sources = [
Rubin Xu2894c6a2019-02-07 16:01:35 +00001273 "src/setup-isolate-deserialize.cc",
Ben Murdoch014dc512016-03-22 12:00:34 +00001274 "src/snapshot/natives-external.cc",
1275 "src/snapshot/snapshot-external.cc",
Ben Murdochb8a8cc12014-11-26 15:28:44 +00001276 ]
1277
Rubin Xu2894c6a2019-02-07 16:01:35 +00001278 # Do not publicize any header to remove build dependency.
1279 public = []
1280
1281 if (v8_enable_embedded_builtins) {
1282 sources += [ "$target_gen_dir/embedded.cc" ]
1283
1284 if (v8_use_multi_snapshots) {
1285 sources += [ "$target_gen_dir/embedded_trusted.cc" ]
1286
1287 if (use_jumbo_build == true) {
1288 jumbo_excluded_sources = [
1289 # Duplicated symbols with embedded.cc
1290 "$target_gen_dir/embedded_trusted.cc",
1291 ]
1292 }
1293 }
1294 } else {
1295 sources += [ "src/snapshot/embedded-empty.cc" ]
1296 }
1297
Ben Murdochbcf72ee2016-08-08 18:44:38 +01001298 configs = [ ":internal_config" ]
Ben Murdochb8a8cc12014-11-26 15:28:44 +00001299 }
1300}
1301
Rubin Xu2894c6a2019-02-07 16:01:35 +00001302v8_source_set("v8_initializers") {
1303 visibility = [
1304 ":*",
1305 "test/cctest:*",
1306 ]
1307
1308 deps = [
1309 ":torque_generated_initializers",
1310 ":v8_base",
1311 ]
1312
1313 sources = [
1314 ### gcmole(all) ###
1315 "src/builtins/builtins-arguments-gen.cc",
1316 "src/builtins/builtins-arguments-gen.h",
1317 "src/builtins/builtins-array-gen.cc",
1318 "src/builtins/builtins-array-gen.h",
1319 "src/builtins/builtins-async-function-gen.cc",
1320 "src/builtins/builtins-async-gen.cc",
1321 "src/builtins/builtins-async-gen.h",
1322 "src/builtins/builtins-async-generator-gen.cc",
1323 "src/builtins/builtins-async-iterator-gen.cc",
1324 "src/builtins/builtins-boolean-gen.cc",
1325 "src/builtins/builtins-call-gen.cc",
1326 "src/builtins/builtins-call-gen.h",
1327 "src/builtins/builtins-collections-gen.cc",
1328 "src/builtins/builtins-console-gen.cc",
1329 "src/builtins/builtins-constructor-gen.cc",
1330 "src/builtins/builtins-constructor-gen.h",
1331 "src/builtins/builtins-constructor.h",
1332 "src/builtins/builtins-conversion-gen.cc",
1333 "src/builtins/builtins-data-view-gen.h",
1334 "src/builtins/builtins-date-gen.cc",
1335 "src/builtins/builtins-debug-gen.cc",
1336 "src/builtins/builtins-function-gen.cc",
1337 "src/builtins/builtins-generator-gen.cc",
1338 "src/builtins/builtins-global-gen.cc",
1339 "src/builtins/builtins-handler-gen.cc",
1340 "src/builtins/builtins-ic-gen.cc",
1341 "src/builtins/builtins-internal-gen.cc",
1342 "src/builtins/builtins-interpreter-gen.cc",
1343 "src/builtins/builtins-intl-gen.cc",
1344 "src/builtins/builtins-iterator-gen.cc",
1345 "src/builtins/builtins-iterator-gen.h",
1346 "src/builtins/builtins-lazy-gen.cc",
1347 "src/builtins/builtins-lazy-gen.h",
1348 "src/builtins/builtins-math-gen.cc",
1349 "src/builtins/builtins-math-gen.h",
1350 "src/builtins/builtins-number-gen.cc",
1351 "src/builtins/builtins-object-gen.cc",
1352 "src/builtins/builtins-promise-gen.cc",
1353 "src/builtins/builtins-promise-gen.h",
1354 "src/builtins/builtins-proxy-gen.cc",
1355 "src/builtins/builtins-proxy-gen.h",
1356 "src/builtins/builtins-reflect-gen.cc",
1357 "src/builtins/builtins-regexp-gen.cc",
1358 "src/builtins/builtins-regexp-gen.h",
1359 "src/builtins/builtins-sharedarraybuffer-gen.cc",
1360 "src/builtins/builtins-string-gen.cc",
1361 "src/builtins/builtins-string-gen.h",
1362 "src/builtins/builtins-symbol-gen.cc",
1363 "src/builtins/builtins-typed-array-gen.cc",
1364 "src/builtins/builtins-typed-array-gen.h",
1365 "src/builtins/builtins-utils-gen.h",
1366 "src/builtins/builtins-wasm-gen.cc",
1367 "src/builtins/growable-fixed-array-gen.cc",
1368 "src/builtins/growable-fixed-array-gen.h",
1369 "src/builtins/setup-builtins-internal.cc",
1370 "src/heap/setup-heap-internal.cc",
1371 "src/ic/accessor-assembler.cc",
1372 "src/ic/accessor-assembler.h",
1373 "src/ic/binary-op-assembler.cc",
1374 "src/ic/binary-op-assembler.h",
1375 "src/ic/keyed-store-generic.cc",
1376 "src/ic/keyed-store-generic.h",
1377 "src/interpreter/interpreter-assembler.cc",
1378 "src/interpreter/interpreter-assembler.h",
1379 "src/interpreter/interpreter-generator.cc",
1380 "src/interpreter/interpreter-generator.h",
1381 "src/interpreter/interpreter-intrinsics-generator.cc",
1382 "src/interpreter/interpreter-intrinsics-generator.h",
1383 "src/interpreter/setup-interpreter-internal.cc",
1384 "src/interpreter/setup-interpreter.h",
1385 ]
1386
1387 if (use_jumbo_build == true) {
1388 jumbo_excluded_sources = [
1389 # TODO(mostynb@vewd.com): don't exclude these http://crbug.com/752428
1390 "src/builtins/builtins-async-iterator-gen.cc",
1391 "src/builtins/builtins-async-generator-gen.cc",
1392
1393 # This source file takes an unusually large amount of time to
1394 # compile. Build it separately to avoid bottlenecks.
1395 "src/builtins/builtins-regexp-gen.cc",
1396 ]
1397 }
1398
1399 if (v8_current_cpu == "x86") {
1400 sources += [
1401 ### gcmole(arch:ia32) ###
1402 "src/builtins/ia32/builtins-ia32.cc",
1403 ]
1404 } else if (v8_current_cpu == "x64") {
1405 sources += [
1406 ### gcmole(arch:x64) ###
1407 "src/builtins/x64/builtins-x64.cc",
1408 ]
1409 } else if (v8_current_cpu == "arm") {
1410 sources += [
1411 ### gcmole(arch:arm) ###
1412 "src/builtins/arm/builtins-arm.cc",
1413 ]
1414 } else if (v8_current_cpu == "arm64") {
1415 sources += [
1416 ### gcmole(arch:arm64) ###
1417 "src/builtins/arm64/builtins-arm64.cc",
1418 ]
1419 } else if (v8_current_cpu == "mips" || v8_current_cpu == "mipsel") {
1420 sources += [
1421 ### gcmole(arch:mipsel) ###
1422 "src/builtins/mips/builtins-mips.cc",
1423 ]
1424 } else if (v8_current_cpu == "mips64" || v8_current_cpu == "mips64el") {
1425 sources += [
1426 ### gcmole(arch:mips64el) ###
1427 "src/builtins/mips64/builtins-mips64.cc",
1428 ]
1429 } else if (v8_current_cpu == "ppc" || v8_current_cpu == "ppc64") {
1430 sources += [
1431 ### gcmole(arch:ppc) ###
1432 "src/builtins/ppc/builtins-ppc.cc",
1433 ]
1434 } else if (v8_current_cpu == "s390" || v8_current_cpu == "s390x") {
1435 sources += [
1436 ### gcmole(arch:s390) ###
1437 "src/builtins/s390/builtins-s390.cc",
1438 ]
1439 }
1440
1441 if (!v8_enable_i18n_support) {
1442 sources -= [ "src/builtins/builtins-intl-gen.cc" ]
1443 }
1444
1445 configs = [ ":internal_config" ]
1446}
1447
1448v8_source_set("v8_init") {
1449 visibility = [ ":*" ] # Only targets in this file can depend on this.
1450
1451 deps = [
1452 ":v8_initializers",
1453 ]
1454
1455 sources = [
1456 ### gcmole(all) ###
1457 "src/setup-isolate-full.cc",
1458 ]
1459 if (v8_enable_i18n_support) {
1460 public_deps = [
1461 "//third_party/icu",
1462 ]
1463 }
1464
1465 configs = [ ":internal_config" ]
1466}
1467
Ben Murdoch62ed6312017-06-06 11:06:27 +01001468# This is split out to be a non-code containing target that the Chromium browser
1469# DLL can depend upon to get only a version string.
1470v8_header_set("v8_version") {
1471 configs = [ ":internal_config" ]
1472
1473 sources = [
Rubin Xu2894c6a2019-02-07 16:01:35 +00001474 "include/v8-value-serializer-version.h",
Ben Murdoch62ed6312017-06-06 11:06:27 +01001475 "include/v8-version-string.h",
1476 "include/v8-version.h",
1477 ]
1478}
1479
Rubin Xu2894c6a2019-02-07 16:01:35 +00001480# This is split out to be a non-code containing target that the Chromium browser
1481# can depend upon to get basic v8 types.
1482v8_header_set("v8_headers") {
1483 configs = [ ":internal_config" ]
1484
1485 sources = [
1486 "include/v8.h",
1487 "include/v8config.h",
1488 ]
1489
1490 deps = [
1491 ":v8_version",
1492 ]
1493}
1494
Ben Murdochbcf72ee2016-08-08 18:44:38 +01001495v8_source_set("v8_base") {
Ben Murdochb8a8cc12014-11-26 15:28:44 +00001496 visibility = [ ":*" ] # Only targets in this file can depend on this.
1497
Rubin Xu2894c6a2019-02-07 16:01:35 +00001498 # Split static libraries on windows into two.
1499 split_count = 2
1500
Ben Murdochb8a8cc12014-11-26 15:28:44 +00001501 sources = [
Ben Murdoch13e2dad2016-09-16 13:49:30 +01001502 "//base/trace_event/common/trace_event_common.h",
Ben Murdochf3b273f2017-01-17 12:11:28 +00001503
1504 ### gcmole(all) ###
Rubin Xu2894c6a2019-02-07 16:01:35 +00001505 "include/v8-inspector-protocol.h",
1506 "include/v8-inspector.h",
Ben Murdoch014dc512016-03-22 12:00:34 +00001507 "include/v8-platform.h",
1508 "include/v8-profiler.h",
1509 "include/v8-testing.h",
1510 "include/v8-util.h",
Ben Murdoch014dc512016-03-22 12:00:34 +00001511 "include/v8.h",
1512 "include/v8config.h",
Ben Murdochb8a8cc12014-11-26 15:28:44 +00001513 "src/accessors.cc",
1514 "src/accessors.h",
Ben Murdoch014dc512016-03-22 12:00:34 +00001515 "src/address-map.cc",
1516 "src/address-map.h",
Ben Murdochb8a8cc12014-11-26 15:28:44 +00001517 "src/allocation-site-scopes.h",
Ben Murdoch3b9bc312016-06-02 14:46:10 +01001518 "src/allocation.cc",
1519 "src/allocation.h",
Ben Murdoch13e2dad2016-09-16 13:49:30 +01001520 "src/api-arguments-inl.h",
Ben Murdoch3b9bc312016-06-02 14:46:10 +01001521 "src/api-arguments.cc",
1522 "src/api-arguments.h",
Ben Murdoch014dc512016-03-22 12:00:34 +00001523 "src/api-natives.cc",
1524 "src/api-natives.h",
Ben Murdoch3b9bc312016-06-02 14:46:10 +01001525 "src/api.cc",
1526 "src/api.h",
Rubin Xu2894c6a2019-02-07 16:01:35 +00001527 "src/arguments-inl.h",
Ben Murdochb8a8cc12014-11-26 15:28:44 +00001528 "src/arguments.cc",
1529 "src/arguments.h",
Rubin Xu2894c6a2019-02-07 16:01:35 +00001530 "src/asan.h",
Ben Murdochf91f0612016-11-29 16:50:11 +00001531 "src/asmjs/asm-js.cc",
1532 "src/asmjs/asm-js.h",
Rubin Xu2894c6a2019-02-07 16:01:35 +00001533 "src/asmjs/asm-names.h",
1534 "src/asmjs/asm-parser.cc",
1535 "src/asmjs/asm-parser.h",
1536 "src/asmjs/asm-scanner.cc",
1537 "src/asmjs/asm-scanner.h",
Ben Murdochf91f0612016-11-29 16:50:11 +00001538 "src/asmjs/asm-types.cc",
1539 "src/asmjs/asm-types.h",
Ben Murdochc8c1d9e2017-03-08 14:04:23 +00001540 "src/asmjs/switch-logic.cc",
1541 "src/asmjs/switch-logic.h",
Rubin Xu2894c6a2019-02-07 16:01:35 +00001542 "src/assembler-arch-inl.h",
1543 "src/assembler-arch.h",
Ben Murdoch62ed6312017-06-06 11:06:27 +01001544 "src/assembler-inl.h",
Ben Murdochb8a8cc12014-11-26 15:28:44 +00001545 "src/assembler.cc",
1546 "src/assembler.h",
Ben Murdochb8a8cc12014-11-26 15:28:44 +00001547 "src/assert-scope.cc",
Ben Murdoch3b9bc312016-06-02 14:46:10 +01001548 "src/assert-scope.h",
Ben Murdoch62ed6312017-06-06 11:06:27 +01001549 "src/ast/ast-function-literal-id-reindexer.cc",
1550 "src/ast/ast-function-literal-id-reindexer.h",
Rubin Xu2894c6a2019-02-07 16:01:35 +00001551 "src/ast/ast-source-ranges.h",
Ben Murdochf91f0612016-11-29 16:50:11 +00001552 "src/ast/ast-traversal-visitor.h",
Ben Murdoch014dc512016-03-22 12:00:34 +00001553 "src/ast/ast-value-factory.cc",
1554 "src/ast/ast-value-factory.h",
1555 "src/ast/ast.cc",
1556 "src/ast/ast.h",
Ben Murdochf91f0612016-11-29 16:50:11 +00001557 "src/ast/context-slot-cache.cc",
1558 "src/ast/context-slot-cache.h",
Ben Murdoch014dc512016-03-22 12:00:34 +00001559 "src/ast/modules.cc",
1560 "src/ast/modules.h",
1561 "src/ast/prettyprinter.cc",
1562 "src/ast/prettyprinter.h",
Ben Murdoch014dc512016-03-22 12:00:34 +00001563 "src/ast/scopes.cc",
1564 "src/ast/scopes.h",
1565 "src/ast/variables.cc",
1566 "src/ast/variables.h",
Ben Murdochb8a8cc12014-11-26 15:28:44 +00001567 "src/bailout-reason.cc",
1568 "src/bailout-reason.h",
Emily Bernier958fae72015-03-24 16:35:39 -04001569 "src/basic-block-profiler.cc",
1570 "src/basic-block-profiler.h",
Ben Murdochb8a8cc12014-11-26 15:28:44 +00001571 "src/bignum-dtoa.cc",
1572 "src/bignum-dtoa.h",
1573 "src/bignum.cc",
1574 "src/bignum.h",
Emily Bernier958fae72015-03-24 16:35:39 -04001575 "src/bit-vector.cc",
1576 "src/bit-vector.h",
Ben Murdochb8a8cc12014-11-26 15:28:44 +00001577 "src/bootstrapper.cc",
1578 "src/bootstrapper.h",
Rubin Xu2894c6a2019-02-07 16:01:35 +00001579 "src/boxed-float.h",
Ben Murdochf91f0612016-11-29 16:50:11 +00001580 "src/builtins/builtins-api.cc",
1581 "src/builtins/builtins-array.cc",
1582 "src/builtins/builtins-arraybuffer.cc",
Rubin Xu2894c6a2019-02-07 16:01:35 +00001583 "src/builtins/builtins-bigint.cc",
Ben Murdochf91f0612016-11-29 16:50:11 +00001584 "src/builtins/builtins-boolean.cc",
1585 "src/builtins/builtins-call.cc",
1586 "src/builtins/builtins-callsite.cc",
Rubin Xu2894c6a2019-02-07 16:01:35 +00001587 "src/builtins/builtins-collections.cc",
1588 "src/builtins/builtins-console.cc",
Ben Murdoch62ed6312017-06-06 11:06:27 +01001589 "src/builtins/builtins-constructor.h",
Ben Murdochf91f0612016-11-29 16:50:11 +00001590 "src/builtins/builtins-dataview.cc",
1591 "src/builtins/builtins-date.cc",
Rubin Xu2894c6a2019-02-07 16:01:35 +00001592 "src/builtins/builtins-definitions.h",
1593 "src/builtins/builtins-descriptors.h",
Ben Murdochf91f0612016-11-29 16:50:11 +00001594 "src/builtins/builtins-error.cc",
1595 "src/builtins/builtins-function.cc",
Ben Murdochf91f0612016-11-29 16:50:11 +00001596 "src/builtins/builtins-global.cc",
Ben Murdochf91f0612016-11-29 16:50:11 +00001597 "src/builtins/builtins-internal.cc",
1598 "src/builtins/builtins-interpreter.cc",
Rubin Xu2894c6a2019-02-07 16:01:35 +00001599 "src/builtins/builtins-intl.cc",
1600 "src/builtins/builtins-intl.h",
Ben Murdochf91f0612016-11-29 16:50:11 +00001601 "src/builtins/builtins-json.cc",
1602 "src/builtins/builtins-math.cc",
1603 "src/builtins/builtins-number.cc",
1604 "src/builtins/builtins-object.cc",
Ben Murdochc8c1d9e2017-03-08 14:04:23 +00001605 "src/builtins/builtins-promise.cc",
Ben Murdochf91f0612016-11-29 16:50:11 +00001606 "src/builtins/builtins-reflect.cc",
Ben Murdochf3b273f2017-01-17 12:11:28 +00001607 "src/builtins/builtins-regexp.cc",
Ben Murdochf91f0612016-11-29 16:50:11 +00001608 "src/builtins/builtins-sharedarraybuffer.cc",
1609 "src/builtins/builtins-string.cc",
1610 "src/builtins/builtins-symbol.cc",
Rubin Xu2894c6a2019-02-07 16:01:35 +00001611 "src/builtins/builtins-trace.cc",
1612 "src/builtins/builtins-typed-array.cc",
1613 "src/builtins/builtins-utils-inl.h",
Ben Murdochf91f0612016-11-29 16:50:11 +00001614 "src/builtins/builtins-utils.h",
1615 "src/builtins/builtins.cc",
1616 "src/builtins/builtins.h",
Rubin Xu2894c6a2019-02-07 16:01:35 +00001617 "src/builtins/constants-table-builder.cc",
1618 "src/builtins/constants-table-builder.h",
Ben Murdochb8a8cc12014-11-26 15:28:44 +00001619 "src/cached-powers.cc",
1620 "src/cached-powers.h",
Rubin Xu2894c6a2019-02-07 16:01:35 +00001621 "src/callable.h",
Ben Murdoch3b9bc312016-06-02 14:46:10 +01001622 "src/cancelable-task.cc",
1623 "src/cancelable-task.h",
Ben Murdochb8a8cc12014-11-26 15:28:44 +00001624 "src/char-predicates-inl.h",
Ben Murdoch3b9bc312016-06-02 14:46:10 +01001625 "src/char-predicates.cc",
Ben Murdochb8a8cc12014-11-26 15:28:44 +00001626 "src/char-predicates.h",
Ben Murdochb8a8cc12014-11-26 15:28:44 +00001627 "src/checks.h",
Ben Murdoch13e2dad2016-09-16 13:49:30 +01001628 "src/code-events.h",
Ben Murdochb8a8cc12014-11-26 15:28:44 +00001629 "src/code-factory.cc",
1630 "src/code-factory.h",
Rubin Xu2894c6a2019-02-07 16:01:35 +00001631 "src/code-reference.cc",
1632 "src/code-reference.h",
Ben Murdochbcf72ee2016-08-08 18:44:38 +01001633 "src/code-stub-assembler.cc",
1634 "src/code-stub-assembler.h",
Rubin Xu2894c6a2019-02-07 16:01:35 +00001635 "src/code-stubs-utils.h",
Ben Murdochb8a8cc12014-11-26 15:28:44 +00001636 "src/code-stubs.cc",
1637 "src/code-stubs.h",
Rubin Xu2894c6a2019-02-07 16:01:35 +00001638 "src/code-tracer.h",
Ben Murdochb8a8cc12014-11-26 15:28:44 +00001639 "src/codegen.cc",
1640 "src/codegen.h",
Ben Murdoch3b9bc312016-06-02 14:46:10 +01001641 "src/collector.h",
Ben Murdochb8a8cc12014-11-26 15:28:44 +00001642 "src/compilation-cache.cc",
1643 "src/compilation-cache.h",
Emily Bernier958fae72015-03-24 16:35:39 -04001644 "src/compilation-statistics.cc",
1645 "src/compilation-statistics.h",
Ben Murdochf91f0612016-11-29 16:50:11 +00001646 "src/compiler-dispatcher/compiler-dispatcher-job.cc",
1647 "src/compiler-dispatcher/compiler-dispatcher-job.h",
Ben Murdochc8c1d9e2017-03-08 14:04:23 +00001648 "src/compiler-dispatcher/compiler-dispatcher-tracer.cc",
1649 "src/compiler-dispatcher/compiler-dispatcher-tracer.h",
Ben Murdoch62ed6312017-06-06 11:06:27 +01001650 "src/compiler-dispatcher/compiler-dispatcher.cc",
1651 "src/compiler-dispatcher/compiler-dispatcher.h",
Ben Murdochf91f0612016-11-29 16:50:11 +00001652 "src/compiler-dispatcher/optimizing-compile-dispatcher.cc",
1653 "src/compiler-dispatcher/optimizing-compile-dispatcher.h",
Rubin Xu2894c6a2019-02-07 16:01:35 +00001654 "src/compiler-dispatcher/unoptimized-compile-job.cc",
1655 "src/compiler-dispatcher/unoptimized-compile-job.h",
Ben Murdoch3b9bc312016-06-02 14:46:10 +01001656 "src/compiler.cc",
1657 "src/compiler.h",
Ben Murdochb8a8cc12014-11-26 15:28:44 +00001658 "src/compiler/access-builder.cc",
1659 "src/compiler/access-builder.h",
Ben Murdoch014dc512016-03-22 12:00:34 +00001660 "src/compiler/access-info.cc",
1661 "src/compiler/access-info.h",
1662 "src/compiler/all-nodes.cc",
1663 "src/compiler/all-nodes.h",
Rubin Xu2894c6a2019-02-07 16:01:35 +00001664 "src/compiler/allocation-builder.h",
Emily Bernier958fae72015-03-24 16:35:39 -04001665 "src/compiler/basic-block-instrumentor.cc",
1666 "src/compiler/basic-block-instrumentor.h",
Ben Murdoch014dc512016-03-22 12:00:34 +00001667 "src/compiler/branch-elimination.cc",
1668 "src/compiler/branch-elimination.h",
Ben Murdoch62ed6312017-06-06 11:06:27 +01001669 "src/compiler/bytecode-analysis.cc",
1670 "src/compiler/bytecode-analysis.h",
Ben Murdoch014dc512016-03-22 12:00:34 +00001671 "src/compiler/bytecode-graph-builder.cc",
1672 "src/compiler/bytecode-graph-builder.h",
Ben Murdoch62ed6312017-06-06 11:06:27 +01001673 "src/compiler/bytecode-liveness-map.cc",
1674 "src/compiler/bytecode-liveness-map.h",
Ben Murdoch3b9bc312016-06-02 14:46:10 +01001675 "src/compiler/c-linkage.cc",
Ben Murdoch13e2dad2016-09-16 13:49:30 +01001676 "src/compiler/checkpoint-elimination.cc",
1677 "src/compiler/checkpoint-elimination.h",
Ben Murdochbcf72ee2016-08-08 18:44:38 +01001678 "src/compiler/code-assembler.cc",
1679 "src/compiler/code-assembler.h",
Ben Murdochb8a8cc12014-11-26 15:28:44 +00001680 "src/compiler/code-generator-impl.h",
1681 "src/compiler/code-generator.cc",
1682 "src/compiler/code-generator.h",
Emily Bernier958fae72015-03-24 16:35:39 -04001683 "src/compiler/common-node-cache.cc",
Ben Murdochb8a8cc12014-11-26 15:28:44 +00001684 "src/compiler/common-node-cache.h",
Emily Bernier958fae72015-03-24 16:35:39 -04001685 "src/compiler/common-operator-reducer.cc",
1686 "src/compiler/common-operator-reducer.h",
Ben Murdochb8a8cc12014-11-26 15:28:44 +00001687 "src/compiler/common-operator.cc",
1688 "src/compiler/common-operator.h",
Rubin Xu2894c6a2019-02-07 16:01:35 +00001689 "src/compiler/compilation-dependencies.cc",
1690 "src/compiler/compilation-dependencies.h",
Ben Murdochc8c1d9e2017-03-08 14:04:23 +00001691 "src/compiler/compiler-source-position-table.cc",
1692 "src/compiler/compiler-source-position-table.h",
Rubin Xu2894c6a2019-02-07 16:01:35 +00001693 "src/compiler/constant-folding-reducer.cc",
1694 "src/compiler/constant-folding-reducer.h",
Ben Murdoch014dc512016-03-22 12:00:34 +00001695 "src/compiler/control-equivalence.cc",
Emily Bernier958fae72015-03-24 16:35:39 -04001696 "src/compiler/control-equivalence.h",
Ben Murdoch014dc512016-03-22 12:00:34 +00001697 "src/compiler/control-flow-optimizer.cc",
1698 "src/compiler/control-flow-optimizer.h",
1699 "src/compiler/dead-code-elimination.cc",
1700 "src/compiler/dead-code-elimination.h",
Emily Bernier958fae72015-03-24 16:35:39 -04001701 "src/compiler/diamond.h",
Ben Murdochbcf72ee2016-08-08 18:44:38 +01001702 "src/compiler/effect-control-linearizer.cc",
1703 "src/compiler/effect-control-linearizer.h",
Ben Murdoch014dc512016-03-22 12:00:34 +00001704 "src/compiler/escape-analysis-reducer.cc",
1705 "src/compiler/escape-analysis-reducer.h",
Ben Murdoch3b9bc312016-06-02 14:46:10 +01001706 "src/compiler/escape-analysis.cc",
1707 "src/compiler/escape-analysis.h",
Ben Murdoch014dc512016-03-22 12:00:34 +00001708 "src/compiler/frame-elider.cc",
1709 "src/compiler/frame-elider.h",
1710 "src/compiler/frame-states.cc",
1711 "src/compiler/frame-states.h",
Ben Murdoch3b9bc312016-06-02 14:46:10 +01001712 "src/compiler/frame.cc",
1713 "src/compiler/frame.h",
Rubin Xu2894c6a2019-02-07 16:01:35 +00001714 "src/compiler/functional-list.h",
Ben Murdochb8a8cc12014-11-26 15:28:44 +00001715 "src/compiler/gap-resolver.cc",
1716 "src/compiler/gap-resolver.h",
Ben Murdoch62ed6312017-06-06 11:06:27 +01001717 "src/compiler/graph-assembler.cc",
1718 "src/compiler/graph-assembler.h",
Ben Murdochb8a8cc12014-11-26 15:28:44 +00001719 "src/compiler/graph-reducer.cc",
1720 "src/compiler/graph-reducer.h",
Ben Murdoch014dc512016-03-22 12:00:34 +00001721 "src/compiler/graph-trimmer.cc",
1722 "src/compiler/graph-trimmer.h",
Ben Murdochb8a8cc12014-11-26 15:28:44 +00001723 "src/compiler/graph-visualizer.cc",
1724 "src/compiler/graph-visualizer.h",
1725 "src/compiler/graph.cc",
1726 "src/compiler/graph.h",
1727 "src/compiler/instruction-codes.h",
Ben Murdoch014dc512016-03-22 12:00:34 +00001728 "src/compiler/instruction-scheduler.cc",
1729 "src/compiler/instruction-scheduler.h",
Ben Murdochb8a8cc12014-11-26 15:28:44 +00001730 "src/compiler/instruction-selector-impl.h",
1731 "src/compiler/instruction-selector.cc",
1732 "src/compiler/instruction-selector.h",
1733 "src/compiler/instruction.cc",
1734 "src/compiler/instruction.h",
Ben Murdoch109988c2016-05-18 11:27:45 +01001735 "src/compiler/int64-lowering.cc",
1736 "src/compiler/int64-lowering.h",
Ben Murdoch014dc512016-03-22 12:00:34 +00001737 "src/compiler/js-call-reducer.cc",
1738 "src/compiler/js-call-reducer.h",
Ben Murdochb8a8cc12014-11-26 15:28:44 +00001739 "src/compiler/js-context-specialization.cc",
1740 "src/compiler/js-context-specialization.h",
Ben Murdoch109988c2016-05-18 11:27:45 +01001741 "src/compiler/js-create-lowering.cc",
1742 "src/compiler/js-create-lowering.h",
Ben Murdochb8a8cc12014-11-26 15:28:44 +00001743 "src/compiler/js-generic-lowering.cc",
1744 "src/compiler/js-generic-lowering.h",
1745 "src/compiler/js-graph.cc",
1746 "src/compiler/js-graph.h",
Rubin Xu2894c6a2019-02-07 16:01:35 +00001747 "src/compiler/js-heap-broker.cc",
1748 "src/compiler/js-heap-broker.h",
1749 "src/compiler/js-heap-copy-reducer.cc",
1750 "src/compiler/js-heap-copy-reducer.h",
Ben Murdoch014dc512016-03-22 12:00:34 +00001751 "src/compiler/js-inlining-heuristic.cc",
1752 "src/compiler/js-inlining-heuristic.h",
Ben Murdoch3b9bc312016-06-02 14:46:10 +01001753 "src/compiler/js-inlining.cc",
1754 "src/compiler/js-inlining.h",
Ben Murdoch014dc512016-03-22 12:00:34 +00001755 "src/compiler/js-intrinsic-lowering.cc",
1756 "src/compiler/js-intrinsic-lowering.h",
1757 "src/compiler/js-native-context-specialization.cc",
1758 "src/compiler/js-native-context-specialization.h",
Emily Bernier958fae72015-03-24 16:35:39 -04001759 "src/compiler/js-operator.cc",
Ben Murdochb8a8cc12014-11-26 15:28:44 +00001760 "src/compiler/js-operator.h",
Ben Murdoch62ed6312017-06-06 11:06:27 +01001761 "src/compiler/js-type-hint-lowering.cc",
1762 "src/compiler/js-type-hint-lowering.h",
Ben Murdochb8a8cc12014-11-26 15:28:44 +00001763 "src/compiler/js-typed-lowering.cc",
1764 "src/compiler/js-typed-lowering.h",
Emily Bernier958fae72015-03-24 16:35:39 -04001765 "src/compiler/jump-threading.cc",
1766 "src/compiler/jump-threading.h",
Ben Murdochb8a8cc12014-11-26 15:28:44 +00001767 "src/compiler/linkage.cc",
1768 "src/compiler/linkage.h",
Ben Murdoch014dc512016-03-22 12:00:34 +00001769 "src/compiler/live-range-separator.cc",
1770 "src/compiler/live-range-separator.h",
Emily Bernier958fae72015-03-24 16:35:39 -04001771 "src/compiler/load-elimination.cc",
1772 "src/compiler/load-elimination.h",
1773 "src/compiler/loop-analysis.cc",
1774 "src/compiler/loop-analysis.h",
Ben Murdoch3b9bc312016-06-02 14:46:10 +01001775 "src/compiler/loop-peeling.cc",
Ben Murdochf91f0612016-11-29 16:50:11 +00001776 "src/compiler/loop-peeling.h",
1777 "src/compiler/loop-variable-optimizer.cc",
1778 "src/compiler/loop-variable-optimizer.h",
Ben Murdochf3b273f2017-01-17 12:11:28 +00001779 "src/compiler/machine-graph-verifier.cc",
1780 "src/compiler/machine-graph-verifier.h",
Rubin Xu2894c6a2019-02-07 16:01:35 +00001781 "src/compiler/machine-graph.cc",
1782 "src/compiler/machine-graph.h",
Ben Murdochb8a8cc12014-11-26 15:28:44 +00001783 "src/compiler/machine-operator-reducer.cc",
1784 "src/compiler/machine-operator-reducer.h",
1785 "src/compiler/machine-operator.cc",
1786 "src/compiler/machine-operator.h",
Ben Murdochbcf72ee2016-08-08 18:44:38 +01001787 "src/compiler/memory-optimizer.cc",
1788 "src/compiler/memory-optimizer.h",
Emily Bernier958fae72015-03-24 16:35:39 -04001789 "src/compiler/move-optimizer.cc",
1790 "src/compiler/move-optimizer.h",
Ben Murdochb8a8cc12014-11-26 15:28:44 +00001791 "src/compiler/node-aux-data.h",
1792 "src/compiler/node-cache.cc",
1793 "src/compiler/node-cache.h",
Ben Murdoch014dc512016-03-22 12:00:34 +00001794 "src/compiler/node-marker.cc",
1795 "src/compiler/node-marker.h",
1796 "src/compiler/node-matchers.cc",
Ben Murdochb8a8cc12014-11-26 15:28:44 +00001797 "src/compiler/node-matchers.h",
Rubin Xu2894c6a2019-02-07 16:01:35 +00001798 "src/compiler/node-origin-table.cc",
1799 "src/compiler/node-origin-table.h",
Ben Murdoch014dc512016-03-22 12:00:34 +00001800 "src/compiler/node-properties.cc",
Ben Murdochb8a8cc12014-11-26 15:28:44 +00001801 "src/compiler/node-properties.h",
1802 "src/compiler/node.cc",
1803 "src/compiler/node.h",
Emily Bernier958fae72015-03-24 16:35:39 -04001804 "src/compiler/opcodes.cc",
Ben Murdochb8a8cc12014-11-26 15:28:44 +00001805 "src/compiler/opcodes.h",
Ben Murdoch13e2dad2016-09-16 13:49:30 +01001806 "src/compiler/operation-typer.cc",
1807 "src/compiler/operation-typer.h",
Emily Bernier958fae72015-03-24 16:35:39 -04001808 "src/compiler/operator-properties.cc",
Ben Murdochb8a8cc12014-11-26 15:28:44 +00001809 "src/compiler/operator-properties.h",
1810 "src/compiler/operator.cc",
1811 "src/compiler/operator.h",
Ben Murdoch014dc512016-03-22 12:00:34 +00001812 "src/compiler/osr.cc",
1813 "src/compiler/osr.h",
Rubin Xu2894c6a2019-02-07 16:01:35 +00001814 "src/compiler/persistent-map.h",
Emily Bernier958fae72015-03-24 16:35:39 -04001815 "src/compiler/pipeline-statistics.cc",
1816 "src/compiler/pipeline-statistics.h",
Ben Murdoch3b9bc312016-06-02 14:46:10 +01001817 "src/compiler/pipeline.cc",
1818 "src/compiler/pipeline.h",
Rubin Xu2894c6a2019-02-07 16:01:35 +00001819 "src/compiler/property-access-builder.cc",
1820 "src/compiler/property-access-builder.h",
Ben Murdochb8a8cc12014-11-26 15:28:44 +00001821 "src/compiler/raw-machine-assembler.cc",
1822 "src/compiler/raw-machine-assembler.h",
Ben Murdoch13e2dad2016-09-16 13:49:30 +01001823 "src/compiler/redundancy-elimination.cc",
1824 "src/compiler/redundancy-elimination.h",
Emily Bernier958fae72015-03-24 16:35:39 -04001825 "src/compiler/register-allocator-verifier.cc",
1826 "src/compiler/register-allocator-verifier.h",
Ben Murdoch3b9bc312016-06-02 14:46:10 +01001827 "src/compiler/register-allocator.cc",
1828 "src/compiler/register-allocator.h",
Ben Murdoch014dc512016-03-22 12:00:34 +00001829 "src/compiler/representation-change.cc",
Ben Murdochb8a8cc12014-11-26 15:28:44 +00001830 "src/compiler/representation-change.h",
1831 "src/compiler/schedule.cc",
1832 "src/compiler/schedule.h",
1833 "src/compiler/scheduler.cc",
1834 "src/compiler/scheduler.h",
Emily Bernier958fae72015-03-24 16:35:39 -04001835 "src/compiler/select-lowering.cc",
1836 "src/compiler/select-lowering.h",
Ben Murdochc8c1d9e2017-03-08 14:04:23 +00001837 "src/compiler/simd-scalar-lowering.cc",
1838 "src/compiler/simd-scalar-lowering.h",
Ben Murdochb8a8cc12014-11-26 15:28:44 +00001839 "src/compiler/simplified-lowering.cc",
1840 "src/compiler/simplified-lowering.h",
1841 "src/compiler/simplified-operator-reducer.cc",
1842 "src/compiler/simplified-operator-reducer.h",
1843 "src/compiler/simplified-operator.cc",
1844 "src/compiler/simplified-operator.h",
Ben Murdoch014dc512016-03-22 12:00:34 +00001845 "src/compiler/state-values-utils.cc",
1846 "src/compiler/state-values-utils.h",
Ben Murdoch13e2dad2016-09-16 13:49:30 +01001847 "src/compiler/store-store-elimination.cc",
1848 "src/compiler/store-store-elimination.h",
Ben Murdochf3b273f2017-01-17 12:11:28 +00001849 "src/compiler/type-cache.cc",
1850 "src/compiler/type-cache.h",
Rubin Xu2894c6a2019-02-07 16:01:35 +00001851 "src/compiler/type-narrowing-reducer.cc",
1852 "src/compiler/type-narrowing-reducer.h",
Ben Murdochf3b273f2017-01-17 12:11:28 +00001853 "src/compiler/typed-optimization.cc",
1854 "src/compiler/typed-optimization.h",
Ben Murdochb8a8cc12014-11-26 15:28:44 +00001855 "src/compiler/typer.cc",
1856 "src/compiler/typer.h",
Ben Murdochf3b273f2017-01-17 12:11:28 +00001857 "src/compiler/types.cc",
1858 "src/compiler/types.h",
Ben Murdochf91f0612016-11-29 16:50:11 +00001859 "src/compiler/unwinding-info-writer.h",
Ben Murdochb8a8cc12014-11-26 15:28:44 +00001860 "src/compiler/value-numbering-reducer.cc",
1861 "src/compiler/value-numbering-reducer.h",
1862 "src/compiler/verifier.cc",
1863 "src/compiler/verifier.h",
Ben Murdoch014dc512016-03-22 12:00:34 +00001864 "src/compiler/wasm-compiler.cc",
1865 "src/compiler/wasm-compiler.h",
Ben Murdochc8c1d9e2017-03-08 14:04:23 +00001866 "src/compiler/zone-stats.cc",
1867 "src/compiler/zone-stats.h",
Ben Murdoch014dc512016-03-22 12:00:34 +00001868 "src/contexts-inl.h",
Ben Murdochb8a8cc12014-11-26 15:28:44 +00001869 "src/contexts.cc",
1870 "src/contexts.h",
1871 "src/conversions-inl.h",
1872 "src/conversions.cc",
1873 "src/conversions.h",
Ben Murdochbcf72ee2016-08-08 18:44:38 +01001874 "src/counters-inl.h",
Ben Murdochb8a8cc12014-11-26 15:28:44 +00001875 "src/counters.cc",
1876 "src/counters.h",
Ben Murdochb8a8cc12014-11-26 15:28:44 +00001877 "src/date.cc",
1878 "src/date.h",
1879 "src/dateparser-inl.h",
1880 "src/dateparser.cc",
1881 "src/dateparser.h",
Ben Murdoch62ed6312017-06-06 11:06:27 +01001882 "src/debug/debug-coverage.cc",
1883 "src/debug/debug-coverage.h",
Ben Murdoch014dc512016-03-22 12:00:34 +00001884 "src/debug/debug-evaluate.cc",
1885 "src/debug/debug-evaluate.h",
1886 "src/debug/debug-frames.cc",
1887 "src/debug/debug-frames.h",
Ben Murdochc8c1d9e2017-03-08 14:04:23 +00001888 "src/debug/debug-interface.h",
Rubin Xu2894c6a2019-02-07 16:01:35 +00001889 "src/debug/debug-scope-iterator.cc",
1890 "src/debug/debug-scope-iterator.h",
Ben Murdoch014dc512016-03-22 12:00:34 +00001891 "src/debug/debug-scopes.cc",
1892 "src/debug/debug-scopes.h",
Rubin Xu2894c6a2019-02-07 16:01:35 +00001893 "src/debug/debug-stack-trace-iterator.cc",
1894 "src/debug/debug-stack-trace-iterator.h",
1895 "src/debug/debug-type-profile.cc",
1896 "src/debug/debug-type-profile.h",
Ben Murdoch014dc512016-03-22 12:00:34 +00001897 "src/debug/debug.cc",
1898 "src/debug/debug.h",
Ben Murdoch62ed6312017-06-06 11:06:27 +01001899 "src/debug/interface-types.h",
Ben Murdoch014dc512016-03-22 12:00:34 +00001900 "src/debug/liveedit.cc",
1901 "src/debug/liveedit.h",
Ben Murdochf91f0612016-11-29 16:50:11 +00001902 "src/deoptimize-reason.cc",
1903 "src/deoptimize-reason.h",
Ben Murdochb8a8cc12014-11-26 15:28:44 +00001904 "src/deoptimizer.cc",
1905 "src/deoptimizer.h",
Rubin Xu2894c6a2019-02-07 16:01:35 +00001906 "src/detachable-vector.h",
Ben Murdochb8a8cc12014-11-26 15:28:44 +00001907 "src/disasm.h",
1908 "src/disassembler.cc",
1909 "src/disassembler.h",
1910 "src/diy-fp.cc",
1911 "src/diy-fp.h",
1912 "src/double.h",
1913 "src/dtoa.cc",
1914 "src/dtoa.h",
Ben Murdoch13e2dad2016-09-16 13:49:30 +01001915 "src/eh-frame.cc",
1916 "src/eh-frame.h",
Rubin Xu2894c6a2019-02-07 16:01:35 +00001917 "src/elements-inl.h",
Ben Murdochb8a8cc12014-11-26 15:28:44 +00001918 "src/elements-kind.cc",
1919 "src/elements-kind.h",
1920 "src/elements.cc",
1921 "src/elements.h",
1922 "src/execution.cc",
1923 "src/execution.h",
1924 "src/extensions/externalize-string-extension.cc",
1925 "src/extensions/externalize-string-extension.h",
1926 "src/extensions/free-buffer-extension.cc",
1927 "src/extensions/free-buffer-extension.h",
1928 "src/extensions/gc-extension.cc",
1929 "src/extensions/gc-extension.h",
Ben Murdochbcf72ee2016-08-08 18:44:38 +01001930 "src/extensions/ignition-statistics-extension.cc",
1931 "src/extensions/ignition-statistics-extension.h",
Ben Murdochb8a8cc12014-11-26 15:28:44 +00001932 "src/extensions/statistics-extension.cc",
1933 "src/extensions/statistics-extension.h",
1934 "src/extensions/trigger-failure-extension.cc",
1935 "src/extensions/trigger-failure-extension.h",
Ben Murdoch3b9bc312016-06-02 14:46:10 +01001936 "src/external-reference-table.cc",
1937 "src/external-reference-table.h",
Rubin Xu2894c6a2019-02-07 16:01:35 +00001938 "src/external-reference.cc",
1939 "src/external-reference.h",
Ben Murdochb8a8cc12014-11-26 15:28:44 +00001940 "src/fast-dtoa.cc",
1941 "src/fast-dtoa.h",
Ben Murdoch62ed6312017-06-06 11:06:27 +01001942 "src/feedback-vector-inl.h",
1943 "src/feedback-vector.cc",
1944 "src/feedback-vector.h",
Ben Murdochb8a8cc12014-11-26 15:28:44 +00001945 "src/field-index-inl.h",
Ben Murdoch3b9bc312016-06-02 14:46:10 +01001946 "src/field-index.h",
Ben Murdoch109988c2016-05-18 11:27:45 +01001947 "src/field-type.cc",
1948 "src/field-type.h",
Ben Murdochb8a8cc12014-11-26 15:28:44 +00001949 "src/fixed-dtoa.cc",
1950 "src/fixed-dtoa.h",
1951 "src/flag-definitions.h",
1952 "src/flags.cc",
1953 "src/flags.h",
Rubin Xu2894c6a2019-02-07 16:01:35 +00001954 "src/frame-constants.h",
Ben Murdochb8a8cc12014-11-26 15:28:44 +00001955 "src/frames-inl.h",
1956 "src/frames.cc",
1957 "src/frames.h",
Ben Murdoch014dc512016-03-22 12:00:34 +00001958 "src/futex-emulation.cc",
1959 "src/futex-emulation.h",
Ben Murdochb8a8cc12014-11-26 15:28:44 +00001960 "src/gdb-jit.cc",
1961 "src/gdb-jit.h",
1962 "src/global-handles.cc",
1963 "src/global-handles.h",
1964 "src/globals.h",
Rubin Xu2894c6a2019-02-07 16:01:35 +00001965 "src/handler-table.cc",
1966 "src/handler-table.h",
Ben Murdochb8a8cc12014-11-26 15:28:44 +00001967 "src/handles-inl.h",
1968 "src/handles.cc",
1969 "src/handles.h",
Ben Murdoch109988c2016-05-18 11:27:45 +01001970 "src/heap-symbols.h",
Rubin Xu2894c6a2019-02-07 16:01:35 +00001971 "src/heap/array-buffer-collector.cc",
1972 "src/heap/array-buffer-collector.h",
Ben Murdoch13e2dad2016-09-16 13:49:30 +01001973 "src/heap/array-buffer-tracker-inl.h",
Ben Murdoch014dc512016-03-22 12:00:34 +00001974 "src/heap/array-buffer-tracker.cc",
1975 "src/heap/array-buffer-tracker.h",
Rubin Xu2894c6a2019-02-07 16:01:35 +00001976 "src/heap/barrier.h",
Ben Murdochf91f0612016-11-29 16:50:11 +00001977 "src/heap/code-stats.cc",
1978 "src/heap/code-stats.h",
Rubin Xu2894c6a2019-02-07 16:01:35 +00001979 "src/heap/concurrent-marking.cc",
1980 "src/heap/concurrent-marking.h",
Ben Murdoch62ed6312017-06-06 11:06:27 +01001981 "src/heap/embedder-tracing.cc",
1982 "src/heap/embedder-tracing.h",
Rubin Xu2894c6a2019-02-07 16:01:35 +00001983 "src/heap/factory-inl.h",
1984 "src/heap/factory.cc",
1985 "src/heap/factory.h",
Ben Murdochb8a8cc12014-11-26 15:28:44 +00001986 "src/heap/gc-idle-time-handler.cc",
1987 "src/heap/gc-idle-time-handler.h",
1988 "src/heap/gc-tracer.cc",
1989 "src/heap/gc-tracer.h",
Rubin Xu2894c6a2019-02-07 16:01:35 +00001990 "src/heap/heap-controller.cc",
1991 "src/heap/heap-controller.h",
Ben Murdochb8a8cc12014-11-26 15:28:44 +00001992 "src/heap/heap-inl.h",
Rubin Xu2894c6a2019-02-07 16:01:35 +00001993 "src/heap/heap-write-barrier-inl.h",
1994 "src/heap/heap-write-barrier.h",
Ben Murdochb8a8cc12014-11-26 15:28:44 +00001995 "src/heap/heap.cc",
1996 "src/heap/heap.h",
Ben Murdochf3b273f2017-01-17 12:11:28 +00001997 "src/heap/incremental-marking-inl.h",
Ben Murdoch014dc512016-03-22 12:00:34 +00001998 "src/heap/incremental-marking-job.cc",
1999 "src/heap/incremental-marking-job.h",
Ben Murdochb8a8cc12014-11-26 15:28:44 +00002000 "src/heap/incremental-marking.cc",
2001 "src/heap/incremental-marking.h",
Rubin Xu2894c6a2019-02-07 16:01:35 +00002002 "src/heap/invalidated-slots-inl.h",
2003 "src/heap/invalidated-slots.cc",
2004 "src/heap/invalidated-slots.h",
2005 "src/heap/item-parallel-job.cc",
2006 "src/heap/item-parallel-job.h",
2007 "src/heap/local-allocator-inl.h",
2008 "src/heap/local-allocator.h",
Ben Murdochb8a8cc12014-11-26 15:28:44 +00002009 "src/heap/mark-compact-inl.h",
2010 "src/heap/mark-compact.cc",
2011 "src/heap/mark-compact.h",
Rubin Xu2894c6a2019-02-07 16:01:35 +00002012 "src/heap/marking.cc",
Ben Murdochf91f0612016-11-29 16:50:11 +00002013 "src/heap/marking.h",
Ben Murdoch014dc512016-03-22 12:00:34 +00002014 "src/heap/memory-reducer.cc",
2015 "src/heap/memory-reducer.h",
2016 "src/heap/object-stats.cc",
2017 "src/heap/object-stats.h",
Ben Murdochb8a8cc12014-11-26 15:28:44 +00002018 "src/heap/objects-visiting-inl.h",
2019 "src/heap/objects-visiting.cc",
2020 "src/heap/objects-visiting.h",
Ben Murdoch109988c2016-05-18 11:27:45 +01002021 "src/heap/remembered-set.h",
Ben Murdoch014dc512016-03-22 12:00:34 +00002022 "src/heap/scavenge-job.cc",
Ben Murdoch3b9bc312016-06-02 14:46:10 +01002023 "src/heap/scavenge-job.h",
Ben Murdoch014dc512016-03-22 12:00:34 +00002024 "src/heap/scavenger-inl.h",
2025 "src/heap/scavenger.cc",
2026 "src/heap/scavenger.h",
Ben Murdoch109988c2016-05-18 11:27:45 +01002027 "src/heap/slot-set.h",
Ben Murdochb8a8cc12014-11-26 15:28:44 +00002028 "src/heap/spaces-inl.h",
2029 "src/heap/spaces.cc",
2030 "src/heap/spaces.h",
Rubin Xu2894c6a2019-02-07 16:01:35 +00002031 "src/heap/store-buffer-inl.h",
Ben Murdochb8a8cc12014-11-26 15:28:44 +00002032 "src/heap/store-buffer.cc",
2033 "src/heap/store-buffer.h",
Rubin Xu2894c6a2019-02-07 16:01:35 +00002034 "src/heap/stress-marking-observer.cc",
2035 "src/heap/stress-marking-observer.h",
2036 "src/heap/stress-scavenge-observer.cc",
2037 "src/heap/stress-scavenge-observer.h",
2038 "src/heap/sweeper.cc",
2039 "src/heap/sweeper.h",
2040 "src/heap/worklist.h",
Ben Murdochb8a8cc12014-11-26 15:28:44 +00002041 "src/ic/call-optimization.cc",
2042 "src/ic/call-optimization.h",
Ben Murdochc8c1d9e2017-03-08 14:04:23 +00002043 "src/ic/handler-configuration-inl.h",
Rubin Xu2894c6a2019-02-07 16:01:35 +00002044 "src/ic/handler-configuration.cc",
Ben Murdochf3b273f2017-01-17 12:11:28 +00002045 "src/ic/handler-configuration.h",
Ben Murdochb8a8cc12014-11-26 15:28:44 +00002046 "src/ic/ic-inl.h",
Ben Murdoch62ed6312017-06-06 11:06:27 +01002047 "src/ic/ic-stats.cc",
2048 "src/ic/ic-stats.h",
Ben Murdochb8a8cc12014-11-26 15:28:44 +00002049 "src/ic/ic.cc",
2050 "src/ic/ic.h",
Ben Murdochb8a8cc12014-11-26 15:28:44 +00002051 "src/ic/stub-cache.cc",
2052 "src/ic/stub-cache.h",
Ben Murdoch3b9bc312016-06-02 14:46:10 +01002053 "src/icu_util.cc",
2054 "src/icu_util.h",
Ben Murdoch014dc512016-03-22 12:00:34 +00002055 "src/identity-map.cc",
2056 "src/identity-map.h",
Rubin Xu2894c6a2019-02-07 16:01:35 +00002057 "src/instruction-stream.cc",
2058 "src/instruction-stream.h",
Ben Murdochb8a8cc12014-11-26 15:28:44 +00002059 "src/interface-descriptors.cc",
2060 "src/interface-descriptors.h",
Rubin Xu2894c6a2019-02-07 16:01:35 +00002061 "src/interpreter/block-coverage-builder.h",
Ben Murdoch62ed6312017-06-06 11:06:27 +01002062 "src/interpreter/bytecode-array-accessor.cc",
2063 "src/interpreter/bytecode-array-accessor.h",
Ben Murdoch014dc512016-03-22 12:00:34 +00002064 "src/interpreter/bytecode-array-builder.cc",
2065 "src/interpreter/bytecode-array-builder.h",
2066 "src/interpreter/bytecode-array-iterator.cc",
2067 "src/interpreter/bytecode-array-iterator.h",
Ben Murdoch62ed6312017-06-06 11:06:27 +01002068 "src/interpreter/bytecode-array-random-iterator.cc",
2069 "src/interpreter/bytecode-array-random-iterator.h",
Ben Murdochbcf72ee2016-08-08 18:44:38 +01002070 "src/interpreter/bytecode-array-writer.cc",
2071 "src/interpreter/bytecode-array-writer.h",
Ben Murdochf91f0612016-11-29 16:50:11 +00002072 "src/interpreter/bytecode-decoder.cc",
2073 "src/interpreter/bytecode-decoder.h",
2074 "src/interpreter/bytecode-flags.cc",
2075 "src/interpreter/bytecode-flags.h",
Ben Murdoch014dc512016-03-22 12:00:34 +00002076 "src/interpreter/bytecode-generator.cc",
2077 "src/interpreter/bytecode-generator.h",
Rubin Xu2894c6a2019-02-07 16:01:35 +00002078 "src/interpreter/bytecode-jump-table.h",
Ben Murdochf91f0612016-11-29 16:50:11 +00002079 "src/interpreter/bytecode-label.cc",
Ben Murdoch13e2dad2016-09-16 13:49:30 +01002080 "src/interpreter/bytecode-label.h",
Rubin Xu2894c6a2019-02-07 16:01:35 +00002081 "src/interpreter/bytecode-node.cc",
2082 "src/interpreter/bytecode-node.h",
Ben Murdochf3b273f2017-01-17 12:11:28 +00002083 "src/interpreter/bytecode-operands.cc",
2084 "src/interpreter/bytecode-operands.h",
Ben Murdoch014dc512016-03-22 12:00:34 +00002085 "src/interpreter/bytecode-register-allocator.h",
Ben Murdoch13e2dad2016-09-16 13:49:30 +01002086 "src/interpreter/bytecode-register-optimizer.cc",
2087 "src/interpreter/bytecode-register-optimizer.h",
Ben Murdochf91f0612016-11-29 16:50:11 +00002088 "src/interpreter/bytecode-register.cc",
2089 "src/interpreter/bytecode-register.h",
Rubin Xu2894c6a2019-02-07 16:01:35 +00002090 "src/interpreter/bytecode-source-info.cc",
2091 "src/interpreter/bytecode-source-info.h",
Ben Murdoch014dc512016-03-22 12:00:34 +00002092 "src/interpreter/bytecode-traits.h",
Ben Murdoch3b9bc312016-06-02 14:46:10 +01002093 "src/interpreter/bytecodes.cc",
2094 "src/interpreter/bytecodes.h",
Ben Murdoch014dc512016-03-22 12:00:34 +00002095 "src/interpreter/constant-array-builder.cc",
2096 "src/interpreter/constant-array-builder.h",
2097 "src/interpreter/control-flow-builders.cc",
2098 "src/interpreter/control-flow-builders.h",
Ben Murdoch109988c2016-05-18 11:27:45 +01002099 "src/interpreter/handler-table-builder.cc",
2100 "src/interpreter/handler-table-builder.h",
Rubin Xu2894c6a2019-02-07 16:01:35 +00002101 "src/interpreter/interpreter-generator.h",
Ben Murdoch3b9bc312016-06-02 14:46:10 +01002102 "src/interpreter/interpreter-intrinsics.cc",
2103 "src/interpreter/interpreter-intrinsics.h",
2104 "src/interpreter/interpreter.cc",
2105 "src/interpreter/interpreter.h",
Rubin Xu2894c6a2019-02-07 16:01:35 +00002106 "src/intl.cc",
2107 "src/intl.h",
Ben Murdoch014dc512016-03-22 12:00:34 +00002108 "src/isolate-inl.h",
Ben Murdochb8a8cc12014-11-26 15:28:44 +00002109 "src/isolate.cc",
2110 "src/isolate.h",
Ben Murdoch13e2dad2016-09-16 13:49:30 +01002111 "src/json-parser.cc",
Ben Murdoch109988c2016-05-18 11:27:45 +01002112 "src/json-parser.h",
Ben Murdoch13e2dad2016-09-16 13:49:30 +01002113 "src/json-stringifier.cc",
Ben Murdochb8a8cc12014-11-26 15:28:44 +00002114 "src/json-stringifier.h",
Ben Murdoch3b9bc312016-06-02 14:46:10 +01002115 "src/keys.cc",
2116 "src/keys.h",
Ben Murdoch62ed6312017-06-06 11:06:27 +01002117 "src/label.h",
Emily Bernier958fae72015-03-24 16:35:39 -04002118 "src/layout-descriptor-inl.h",
2119 "src/layout-descriptor.cc",
2120 "src/layout-descriptor.h",
Ben Murdochf3b273f2017-01-17 12:11:28 +00002121 "src/locked-queue-inl.h",
2122 "src/locked-queue.h",
Ben Murdochb8a8cc12014-11-26 15:28:44 +00002123 "src/log-inl.h",
2124 "src/log-utils.cc",
2125 "src/log-utils.h",
2126 "src/log.cc",
2127 "src/log.h",
Ben Murdochf3b273f2017-01-17 12:11:28 +00002128 "src/lookup-cache-inl.h",
2129 "src/lookup-cache.cc",
2130 "src/lookup-cache.h",
Rubin Xu2894c6a2019-02-07 16:01:35 +00002131 "src/lookup-inl.h",
Ben Murdochb8a8cc12014-11-26 15:28:44 +00002132 "src/lookup.cc",
2133 "src/lookup.h",
Rubin Xu2894c6a2019-02-07 16:01:35 +00002134 "src/lsan.h",
Ben Murdoch014dc512016-03-22 12:00:34 +00002135 "src/machine-type.cc",
2136 "src/machine-type.h",
Rubin Xu2894c6a2019-02-07 16:01:35 +00002137 "src/macro-assembler-inl.h",
Ben Murdoch3b9bc312016-06-02 14:46:10 +01002138 "src/macro-assembler.h",
Ben Murdoch62ed6312017-06-06 11:06:27 +01002139 "src/map-updater.cc",
2140 "src/map-updater.h",
Rubin Xu2894c6a2019-02-07 16:01:35 +00002141 "src/maybe-handles-inl.h",
2142 "src/maybe-handles.h",
Ben Murdochb8a8cc12014-11-26 15:28:44 +00002143 "src/messages.cc",
2144 "src/messages.h",
2145 "src/msan.h",
Ben Murdoch014dc512016-03-22 12:00:34 +00002146 "src/objects-body-descriptors-inl.h",
2147 "src/objects-body-descriptors.h",
Ben Murdochb8a8cc12014-11-26 15:28:44 +00002148 "src/objects-debug.cc",
2149 "src/objects-inl.h",
2150 "src/objects-printer.cc",
2151 "src/objects.cc",
2152 "src/objects.h",
Rubin Xu2894c6a2019-02-07 16:01:35 +00002153 "src/objects/api-callbacks-inl.h",
2154 "src/objects/api-callbacks.h",
2155 "src/objects/arguments-inl.h",
2156 "src/objects/arguments.h",
2157 "src/objects/bigint.cc",
2158 "src/objects/bigint.h",
2159 "src/objects/code-inl.h",
2160 "src/objects/code.h",
2161 "src/objects/compilation-cache-inl.h",
2162 "src/objects/compilation-cache.h",
2163 "src/objects/debug-objects-inl.h",
2164 "src/objects/debug-objects.cc",
2165 "src/objects/debug-objects.h",
2166 "src/objects/descriptor-array.h",
2167 "src/objects/dictionary.h",
2168 "src/objects/fixed-array-inl.h",
2169 "src/objects/fixed-array.h",
2170 "src/objects/frame-array-inl.h",
2171 "src/objects/frame-array.h",
2172 "src/objects/hash-table-inl.h",
2173 "src/objects/hash-table.h",
2174 "src/objects/intl-objects-inl.h",
2175 "src/objects/intl-objects.cc",
2176 "src/objects/intl-objects.h",
2177 "src/objects/js-array-buffer-inl.h",
2178 "src/objects/js-array-buffer.cc",
2179 "src/objects/js-array-buffer.h",
2180 "src/objects/js-array-inl.h",
2181 "src/objects/js-array.h",
2182 "src/objects/js-collator-inl.h",
2183 "src/objects/js-collator.cc",
2184 "src/objects/js-collator.h",
2185 "src/objects/js-collection-inl.h",
2186 "src/objects/js-collection.h",
2187 "src/objects/js-generator-inl.h",
2188 "src/objects/js-generator.h",
2189 "src/objects/js-list-format-inl.h",
2190 "src/objects/js-list-format.cc",
2191 "src/objects/js-list-format.h",
2192 "src/objects/js-locale-inl.h",
2193 "src/objects/js-locale.cc",
2194 "src/objects/js-locale.h",
2195 "src/objects/js-plural-rules-inl.h",
2196 "src/objects/js-plural-rules.cc",
2197 "src/objects/js-plural-rules.h",
2198 "src/objects/js-promise-inl.h",
2199 "src/objects/js-promise.h",
2200 "src/objects/js-proxy-inl.h",
2201 "src/objects/js-proxy.h",
2202 "src/objects/js-regexp-inl.h",
2203 "src/objects/js-regexp-string-iterator-inl.h",
2204 "src/objects/js-regexp-string-iterator.h",
2205 "src/objects/js-regexp.h",
2206 "src/objects/js-relative-time-format-inl.h",
2207 "src/objects/js-relative-time-format.cc",
2208 "src/objects/js-relative-time-format.h",
2209 "src/objects/literal-objects-inl.h",
Ben Murdoch62ed6312017-06-06 11:06:27 +01002210 "src/objects/literal-objects.cc",
2211 "src/objects/literal-objects.h",
Rubin Xu2894c6a2019-02-07 16:01:35 +00002212 "src/objects/managed.cc",
2213 "src/objects/managed.h",
2214 "src/objects/map-inl.h",
2215 "src/objects/map.h",
2216 "src/objects/maybe-object-inl.h",
2217 "src/objects/maybe-object.h",
2218 "src/objects/microtask-inl.h",
2219 "src/objects/microtask.h",
2220 "src/objects/module-inl.h",
2221 "src/objects/module.cc",
2222 "src/objects/module.h",
2223 "src/objects/name-inl.h",
2224 "src/objects/name.h",
Ben Murdoch62ed6312017-06-06 11:06:27 +01002225 "src/objects/object-macros-undef.h",
2226 "src/objects/object-macros.h",
Rubin Xu2894c6a2019-02-07 16:01:35 +00002227 "src/objects/ordered-hash-table-inl.h",
2228 "src/objects/ordered-hash-table.cc",
2229 "src/objects/ordered-hash-table.h",
2230 "src/objects/promise-inl.h",
2231 "src/objects/promise.h",
2232 "src/objects/property-descriptor-object-inl.h",
2233 "src/objects/property-descriptor-object.h",
2234 "src/objects/prototype-info-inl.h",
2235 "src/objects/prototype-info.h",
Ben Murdoch62ed6312017-06-06 11:06:27 +01002236 "src/objects/regexp-match-info.h",
2237 "src/objects/scope-info.cc",
2238 "src/objects/scope-info.h",
Rubin Xu2894c6a2019-02-07 16:01:35 +00002239 "src/objects/script-inl.h",
2240 "src/objects/script.h",
2241 "src/objects/shared-function-info-inl.h",
2242 "src/objects/shared-function-info.h",
2243 "src/objects/string-inl.h",
2244 "src/objects/string-table.h",
2245 "src/objects/string.h",
2246 "src/objects/template-objects.cc",
2247 "src/objects/template-objects.h",
2248 "src/objects/templates-inl.h",
2249 "src/objects/templates.h",
2250 "src/optimized-compilation-info.cc",
2251 "src/optimized-compilation-info.h",
Ben Murdochb8a8cc12014-11-26 15:28:44 +00002252 "src/ostreams.cc",
2253 "src/ostreams.h",
Ben Murdochf3b273f2017-01-17 12:11:28 +00002254 "src/parsing/duplicate-finder.h",
Ben Murdoch014dc512016-03-22 12:00:34 +00002255 "src/parsing/expression-classifier.h",
Rubin Xu2894c6a2019-02-07 16:01:35 +00002256 "src/parsing/expression-scope-reparenter.cc",
2257 "src/parsing/expression-scope-reparenter.h",
Ben Murdoch014dc512016-03-22 12:00:34 +00002258 "src/parsing/func-name-inferrer.cc",
2259 "src/parsing/func-name-inferrer.h",
Ben Murdochf91f0612016-11-29 16:50:11 +00002260 "src/parsing/parse-info.cc",
2261 "src/parsing/parse-info.h",
Ben Murdoch014dc512016-03-22 12:00:34 +00002262 "src/parsing/parser-base.h",
2263 "src/parsing/parser.cc",
2264 "src/parsing/parser.h",
Ben Murdoch62ed6312017-06-06 11:06:27 +01002265 "src/parsing/parsing.cc",
2266 "src/parsing/parsing.h",
Ben Murdoch014dc512016-03-22 12:00:34 +00002267 "src/parsing/pattern-rewriter.cc",
Ben Murdoch62ed6312017-06-06 11:06:27 +01002268 "src/parsing/preparsed-scope-data.cc",
2269 "src/parsing/preparsed-scope-data.h",
Rubin Xu2894c6a2019-02-07 16:01:35 +00002270 "src/parsing/preparser-logger.h",
Ben Murdoch014dc512016-03-22 12:00:34 +00002271 "src/parsing/preparser.cc",
2272 "src/parsing/preparser.h",
2273 "src/parsing/rewriter.cc",
2274 "src/parsing/rewriter.h",
2275 "src/parsing/scanner-character-streams.cc",
2276 "src/parsing/scanner-character-streams.h",
2277 "src/parsing/scanner.cc",
2278 "src/parsing/scanner.h",
2279 "src/parsing/token.cc",
2280 "src/parsing/token.h",
2281 "src/pending-compilation-error-handler.cc",
2282 "src/pending-compilation-error-handler.h",
Ben Murdoch3b9bc312016-06-02 14:46:10 +01002283 "src/perf-jit.cc",
2284 "src/perf-jit.h",
Ben Murdoch014dc512016-03-22 12:00:34 +00002285 "src/profiler/allocation-tracker.cc",
2286 "src/profiler/allocation-tracker.h",
2287 "src/profiler/circular-queue-inl.h",
2288 "src/profiler/circular-queue.h",
2289 "src/profiler/cpu-profiler-inl.h",
2290 "src/profiler/cpu-profiler.cc",
2291 "src/profiler/cpu-profiler.h",
2292 "src/profiler/heap-profiler.cc",
2293 "src/profiler/heap-profiler.h",
2294 "src/profiler/heap-snapshot-generator-inl.h",
2295 "src/profiler/heap-snapshot-generator.cc",
2296 "src/profiler/heap-snapshot-generator.h",
2297 "src/profiler/profile-generator-inl.h",
2298 "src/profiler/profile-generator.cc",
2299 "src/profiler/profile-generator.h",
Ben Murdoch13e2dad2016-09-16 13:49:30 +01002300 "src/profiler/profiler-listener.cc",
2301 "src/profiler/profiler-listener.h",
Ben Murdoch109988c2016-05-18 11:27:45 +01002302 "src/profiler/sampling-heap-profiler.cc",
2303 "src/profiler/sampling-heap-profiler.h",
Ben Murdoch014dc512016-03-22 12:00:34 +00002304 "src/profiler/strings-storage.cc",
2305 "src/profiler/strings-storage.h",
Ben Murdochbcf72ee2016-08-08 18:44:38 +01002306 "src/profiler/tick-sample.cc",
2307 "src/profiler/tick-sample.h",
Ben Murdochf3b273f2017-01-17 12:11:28 +00002308 "src/profiler/tracing-cpu-profiler.cc",
2309 "src/profiler/tracing-cpu-profiler.h",
Ben Murdoch014dc512016-03-22 12:00:34 +00002310 "src/profiler/unbound-queue-inl.h",
2311 "src/profiler/unbound-queue.h",
2312 "src/property-descriptor.cc",
2313 "src/property-descriptor.h",
Ben Murdochb8a8cc12014-11-26 15:28:44 +00002314 "src/property-details.h",
2315 "src/property.cc",
2316 "src/property.h",
2317 "src/prototype.h",
Ben Murdoch014dc512016-03-22 12:00:34 +00002318 "src/regexp/bytecodes-irregexp.h",
2319 "src/regexp/interpreter-irregexp.cc",
2320 "src/regexp/interpreter-irregexp.h",
2321 "src/regexp/jsregexp-inl.h",
2322 "src/regexp/jsregexp.cc",
2323 "src/regexp/jsregexp.h",
2324 "src/regexp/regexp-ast.cc",
2325 "src/regexp/regexp-ast.h",
2326 "src/regexp/regexp-macro-assembler-irregexp-inl.h",
2327 "src/regexp/regexp-macro-assembler-irregexp.cc",
2328 "src/regexp/regexp-macro-assembler-irregexp.h",
2329 "src/regexp/regexp-macro-assembler-tracer.cc",
2330 "src/regexp/regexp-macro-assembler-tracer.h",
2331 "src/regexp/regexp-macro-assembler.cc",
2332 "src/regexp/regexp-macro-assembler.h",
2333 "src/regexp/regexp-parser.cc",
2334 "src/regexp/regexp-parser.h",
2335 "src/regexp/regexp-stack.cc",
2336 "src/regexp/regexp-stack.h",
Ben Murdochc8c1d9e2017-03-08 14:04:23 +00002337 "src/regexp/regexp-utils.cc",
2338 "src/regexp/regexp-utils.h",
Ben Murdoch014dc512016-03-22 12:00:34 +00002339 "src/register-configuration.cc",
2340 "src/register-configuration.h",
Rubin Xu2894c6a2019-02-07 16:01:35 +00002341 "src/reglist.h",
2342 "src/reloc-info.cc",
2343 "src/reloc-info.h",
2344 "src/roots-inl.h",
2345 "src/roots.h",
Ben Murdochb8a8cc12014-11-26 15:28:44 +00002346 "src/runtime-profiler.cc",
2347 "src/runtime-profiler.h",
Emily Bernier958fae72015-03-24 16:35:39 -04002348 "src/runtime/runtime-array.cc",
Ben Murdoch014dc512016-03-22 12:00:34 +00002349 "src/runtime/runtime-atomics.cc",
Rubin Xu2894c6a2019-02-07 16:01:35 +00002350 "src/runtime/runtime-bigint.cc",
Emily Bernier958fae72015-03-24 16:35:39 -04002351 "src/runtime/runtime-classes.cc",
2352 "src/runtime/runtime-collections.cc",
2353 "src/runtime/runtime-compiler.cc",
2354 "src/runtime/runtime-date.cc",
2355 "src/runtime/runtime-debug.cc",
Ben Murdoch014dc512016-03-22 12:00:34 +00002356 "src/runtime/runtime-forin.cc",
Emily Bernier958fae72015-03-24 16:35:39 -04002357 "src/runtime/runtime-function.cc",
Ben Murdoch014dc512016-03-22 12:00:34 +00002358 "src/runtime/runtime-futex.cc",
Emily Bernier958fae72015-03-24 16:35:39 -04002359 "src/runtime/runtime-generator.cc",
Emily Bernier958fae72015-03-24 16:35:39 -04002360 "src/runtime/runtime-internal.cc",
Ben Murdoch014dc512016-03-22 12:00:34 +00002361 "src/runtime/runtime-interpreter.cc",
Rubin Xu2894c6a2019-02-07 16:01:35 +00002362 "src/runtime/runtime-intl.cc",
Emily Bernier958fae72015-03-24 16:35:39 -04002363 "src/runtime/runtime-literals.cc",
Emily Bernier958fae72015-03-24 16:35:39 -04002364 "src/runtime/runtime-maths.cc",
Ben Murdochc8c1d9e2017-03-08 14:04:23 +00002365 "src/runtime/runtime-module.cc",
Emily Bernier958fae72015-03-24 16:35:39 -04002366 "src/runtime/runtime-numbers.cc",
2367 "src/runtime/runtime-object.cc",
Ben Murdoch014dc512016-03-22 12:00:34 +00002368 "src/runtime/runtime-operators.cc",
Ben Murdochc8c1d9e2017-03-08 14:04:23 +00002369 "src/runtime/runtime-promise.cc",
Emily Bernier958fae72015-03-24 16:35:39 -04002370 "src/runtime/runtime-proxy.cc",
2371 "src/runtime/runtime-regexp.cc",
2372 "src/runtime/runtime-scopes.cc",
2373 "src/runtime/runtime-strings.cc",
2374 "src/runtime/runtime-symbol.cc",
2375 "src/runtime/runtime-test.cc",
2376 "src/runtime/runtime-typedarray.cc",
Emily Bernier958fae72015-03-24 16:35:39 -04002377 "src/runtime/runtime-utils.h",
Ben Murdochf91f0612016-11-29 16:50:11 +00002378 "src/runtime/runtime-wasm.cc",
Emily Bernier958fae72015-03-24 16:35:39 -04002379 "src/runtime/runtime.cc",
2380 "src/runtime/runtime.h",
Ben Murdochb8a8cc12014-11-26 15:28:44 +00002381 "src/safepoint-table.cc",
2382 "src/safepoint-table.h",
Rubin Xu2894c6a2019-02-07 16:01:35 +00002383 "src/setup-isolate.h",
Ben Murdoch014dc512016-03-22 12:00:34 +00002384 "src/signature.h",
Rubin Xu2894c6a2019-02-07 16:01:35 +00002385 "src/simulator-base.cc",
2386 "src/simulator-base.h",
Ben Murdoch014dc512016-03-22 12:00:34 +00002387 "src/simulator.h",
Rubin Xu2894c6a2019-02-07 16:01:35 +00002388 "src/snapshot/builtin-deserializer-allocator.cc",
2389 "src/snapshot/builtin-deserializer-allocator.h",
2390 "src/snapshot/builtin-deserializer.cc",
2391 "src/snapshot/builtin-deserializer.h",
2392 "src/snapshot/builtin-serializer-allocator.cc",
2393 "src/snapshot/builtin-serializer-allocator.h",
2394 "src/snapshot/builtin-serializer.cc",
2395 "src/snapshot/builtin-serializer.h",
2396 "src/snapshot/builtin-snapshot-utils.cc",
2397 "src/snapshot/builtin-snapshot-utils.h",
Ben Murdoch3b9bc312016-06-02 14:46:10 +01002398 "src/snapshot/code-serializer.cc",
2399 "src/snapshot/code-serializer.h",
Rubin Xu2894c6a2019-02-07 16:01:35 +00002400 "src/snapshot/default-deserializer-allocator.cc",
2401 "src/snapshot/default-deserializer-allocator.h",
2402 "src/snapshot/default-serializer-allocator.cc",
2403 "src/snapshot/default-serializer-allocator.h",
Ben Murdoch3b9bc312016-06-02 14:46:10 +01002404 "src/snapshot/deserializer.cc",
2405 "src/snapshot/deserializer.h",
Rubin Xu2894c6a2019-02-07 16:01:35 +00002406 "src/snapshot/macros.h",
Ben Murdoch014dc512016-03-22 12:00:34 +00002407 "src/snapshot/natives-common.cc",
Ben Murdoch3b9bc312016-06-02 14:46:10 +01002408 "src/snapshot/natives.h",
Rubin Xu2894c6a2019-02-07 16:01:35 +00002409 "src/snapshot/object-deserializer.cc",
2410 "src/snapshot/object-deserializer.h",
2411 "src/snapshot/partial-deserializer.cc",
2412 "src/snapshot/partial-deserializer.h",
Ben Murdoch3b9bc312016-06-02 14:46:10 +01002413 "src/snapshot/partial-serializer.cc",
2414 "src/snapshot/partial-serializer.h",
Rubin Xu2894c6a2019-02-07 16:01:35 +00002415 "src/snapshot/references.h",
Ben Murdoch3b9bc312016-06-02 14:46:10 +01002416 "src/snapshot/serializer-common.cc",
2417 "src/snapshot/serializer-common.h",
2418 "src/snapshot/serializer.cc",
2419 "src/snapshot/serializer.h",
Ben Murdoch014dc512016-03-22 12:00:34 +00002420 "src/snapshot/snapshot-common.cc",
2421 "src/snapshot/snapshot-source-sink.cc",
2422 "src/snapshot/snapshot-source-sink.h",
Ben Murdoch014dc512016-03-22 12:00:34 +00002423 "src/snapshot/snapshot.h",
Rubin Xu2894c6a2019-02-07 16:01:35 +00002424 "src/snapshot/startup-deserializer.cc",
2425 "src/snapshot/startup-deserializer.h",
Ben Murdoch3b9bc312016-06-02 14:46:10 +01002426 "src/snapshot/startup-serializer.cc",
2427 "src/snapshot/startup-serializer.h",
Ben Murdochf91f0612016-11-29 16:50:11 +00002428 "src/source-position-table.cc",
2429 "src/source-position-table.h",
Ben Murdochc8c1d9e2017-03-08 14:04:23 +00002430 "src/source-position.cc",
Ben Murdoch3b9bc312016-06-02 14:46:10 +01002431 "src/source-position.h",
2432 "src/splay-tree-inl.h",
2433 "src/splay-tree.h",
Ben Murdoch014dc512016-03-22 12:00:34 +00002434 "src/startup-data-util.cc",
Ben Murdoch3b9bc312016-06-02 14:46:10 +01002435 "src/startup-data-util.h",
Rubin Xu2894c6a2019-02-07 16:01:35 +00002436 "src/string-builder-inl.h",
Emily Bernier958fae72015-03-24 16:35:39 -04002437 "src/string-builder.cc",
Ben Murdoch62ed6312017-06-06 11:06:27 +01002438 "src/string-case.cc",
2439 "src/string-case.h",
Rubin Xu2894c6a2019-02-07 16:01:35 +00002440 "src/string-hasher-inl.h",
2441 "src/string-hasher.h",
Ben Murdochb8a8cc12014-11-26 15:28:44 +00002442 "src/string-search.h",
2443 "src/string-stream.cc",
2444 "src/string-stream.h",
2445 "src/strtod.cc",
2446 "src/strtod.h",
Rubin Xu2894c6a2019-02-07 16:01:35 +00002447 "src/third_party/utf8-decoder/utf8-decoder.h",
Ben Murdoch014dc512016-03-22 12:00:34 +00002448 "src/tracing/trace-event.cc",
2449 "src/tracing/trace-event.h",
Ben Murdochc8c1d9e2017-03-08 14:04:23 +00002450 "src/tracing/traced-value.cc",
2451 "src/tracing/traced-value.h",
2452 "src/tracing/tracing-category-observer.cc",
2453 "src/tracing/tracing-category-observer.h",
Ben Murdochb8a8cc12014-11-26 15:28:44 +00002454 "src/transitions-inl.h",
2455 "src/transitions.cc",
2456 "src/transitions.h",
Rubin Xu2894c6a2019-02-07 16:01:35 +00002457 "src/trap-handler/handler-inside.cc",
2458 "src/trap-handler/handler-outside.cc",
2459 "src/trap-handler/handler-shared.cc",
2460 "src/trap-handler/trap-handler-internal.h",
Ben Murdoch62ed6312017-06-06 11:06:27 +01002461 "src/trap-handler/trap-handler.h",
Rubin Xu2894c6a2019-02-07 16:01:35 +00002462 "src/turbo-assembler.cc",
2463 "src/turbo-assembler.h",
Ben Murdochf3b273f2017-01-17 12:11:28 +00002464 "src/type-hints.cc",
2465 "src/type-hints.h",
Ben Murdoch014dc512016-03-22 12:00:34 +00002466 "src/unicode-cache-inl.h",
2467 "src/unicode-cache.h",
Emily Bernier958fae72015-03-24 16:35:39 -04002468 "src/unicode-decoder.cc",
2469 "src/unicode-decoder.h",
Ben Murdoch3b9bc312016-06-02 14:46:10 +01002470 "src/unicode-inl.h",
2471 "src/unicode.cc",
2472 "src/unicode.h",
Rubin Xu2894c6a2019-02-07 16:01:35 +00002473 "src/unoptimized-compilation-info.cc",
2474 "src/unoptimized-compilation-info.h",
Ben Murdochbcf72ee2016-08-08 18:44:38 +01002475 "src/uri.cc",
2476 "src/uri.h",
Ben Murdoch109988c2016-05-18 11:27:45 +01002477 "src/utils-inl.h",
Ben Murdochb8a8cc12014-11-26 15:28:44 +00002478 "src/utils.cc",
2479 "src/utils.h",
2480 "src/v8.cc",
2481 "src/v8.h",
2482 "src/v8memory.h",
2483 "src/v8threads.cc",
2484 "src/v8threads.h",
Ben Murdochf91f0612016-11-29 16:50:11 +00002485 "src/value-serializer.cc",
2486 "src/value-serializer.h",
Rubin Xu2894c6a2019-02-07 16:01:35 +00002487 "src/vector-slot-pair.cc",
2488 "src/vector-slot-pair.h",
Ben Murdochf3b273f2017-01-17 12:11:28 +00002489 "src/vector.h",
Ben Murdochb8a8cc12014-11-26 15:28:44 +00002490 "src/version.cc",
2491 "src/version.h",
Rubin Xu2894c6a2019-02-07 16:01:35 +00002492 "src/visitors.cc",
2493 "src/visitors.h",
Ben Murdochb8a8cc12014-11-26 15:28:44 +00002494 "src/vm-state-inl.h",
2495 "src/vm-state.h",
Rubin Xu2894c6a2019-02-07 16:01:35 +00002496 "src/wasm/baseline/liftoff-assembler-defs.h",
2497 "src/wasm/baseline/liftoff-assembler.cc",
2498 "src/wasm/baseline/liftoff-assembler.h",
2499 "src/wasm/baseline/liftoff-compiler.cc",
2500 "src/wasm/baseline/liftoff-compiler.h",
2501 "src/wasm/baseline/liftoff-register.h",
Ben Murdoch014dc512016-03-22 12:00:34 +00002502 "src/wasm/decoder.h",
Ben Murdoch62ed6312017-06-06 11:06:27 +01002503 "src/wasm/function-body-decoder-impl.h",
2504 "src/wasm/function-body-decoder.cc",
2505 "src/wasm/function-body-decoder.h",
Rubin Xu2894c6a2019-02-07 16:01:35 +00002506 "src/wasm/function-compiler.cc",
2507 "src/wasm/function-compiler.h",
2508 "src/wasm/jump-table-assembler.cc",
2509 "src/wasm/jump-table-assembler.h",
Ben Murdochbcf72ee2016-08-08 18:44:38 +01002510 "src/wasm/leb-helper.h",
Rubin Xu2894c6a2019-02-07 16:01:35 +00002511 "src/wasm/local-decl-encoder.cc",
2512 "src/wasm/local-decl-encoder.h",
2513 "src/wasm/memory-tracing.cc",
2514 "src/wasm/memory-tracing.h",
2515 "src/wasm/module-compiler.cc",
2516 "src/wasm/module-compiler.h",
Ben Murdoch014dc512016-03-22 12:00:34 +00002517 "src/wasm/module-decoder.cc",
2518 "src/wasm/module-decoder.h",
Ben Murdochc8c1d9e2017-03-08 14:04:23 +00002519 "src/wasm/signature-map.cc",
2520 "src/wasm/signature-map.h",
Rubin Xu2894c6a2019-02-07 16:01:35 +00002521 "src/wasm/streaming-decoder.cc",
2522 "src/wasm/streaming-decoder.h",
2523 "src/wasm/value-type.h",
2524 "src/wasm/wasm-code-manager.cc",
2525 "src/wasm/wasm-code-manager.h",
2526 "src/wasm/wasm-constants.h",
Ben Murdoch13e2dad2016-09-16 13:49:30 +01002527 "src/wasm/wasm-debug.cc",
Rubin Xu2894c6a2019-02-07 16:01:35 +00002528 "src/wasm/wasm-engine.cc",
2529 "src/wasm/wasm-engine.h",
Ben Murdochbcf72ee2016-08-08 18:44:38 +01002530 "src/wasm/wasm-external-refs.cc",
Ben Murdoch3b9bc312016-06-02 14:46:10 +01002531 "src/wasm/wasm-external-refs.h",
Rubin Xu2894c6a2019-02-07 16:01:35 +00002532 "src/wasm/wasm-feature-flags.h",
2533 "src/wasm/wasm-features.cc",
2534 "src/wasm/wasm-features.h",
Ben Murdoch13e2dad2016-09-16 13:49:30 +01002535 "src/wasm/wasm-interpreter.cc",
2536 "src/wasm/wasm-interpreter.h",
Ben Murdoch014dc512016-03-22 12:00:34 +00002537 "src/wasm/wasm-js.cc",
2538 "src/wasm/wasm-js.h",
Ben Murdoch62ed6312017-06-06 11:06:27 +01002539 "src/wasm/wasm-limits.h",
Rubin Xu2894c6a2019-02-07 16:01:35 +00002540 "src/wasm/wasm-linkage.h",
2541 "src/wasm/wasm-memory.cc",
2542 "src/wasm/wasm-memory.h",
Ben Murdochf3b273f2017-01-17 12:11:28 +00002543 "src/wasm/wasm-module-builder.cc",
2544 "src/wasm/wasm-module-builder.h",
Ben Murdoch014dc512016-03-22 12:00:34 +00002545 "src/wasm/wasm-module.cc",
2546 "src/wasm/wasm-module.h",
Rubin Xu2894c6a2019-02-07 16:01:35 +00002547 "src/wasm/wasm-objects-inl.h",
Ben Murdochc8c1d9e2017-03-08 14:04:23 +00002548 "src/wasm/wasm-objects.cc",
2549 "src/wasm/wasm-objects.h",
Ben Murdoch014dc512016-03-22 12:00:34 +00002550 "src/wasm/wasm-opcodes.cc",
2551 "src/wasm/wasm-opcodes.h",
2552 "src/wasm/wasm-result.cc",
2553 "src/wasm/wasm-result.h",
Rubin Xu2894c6a2019-02-07 16:01:35 +00002554 "src/wasm/wasm-serialization.cc",
2555 "src/wasm/wasm-serialization.h",
Ben Murdoch62ed6312017-06-06 11:06:27 +01002556 "src/wasm/wasm-text.cc",
2557 "src/wasm/wasm-text.h",
Rubin Xu2894c6a2019-02-07 16:01:35 +00002558 "src/wasm/wasm-tier.h",
2559 "src/wasm/wasm-value.h",
Ben Murdochf3b273f2017-01-17 12:11:28 +00002560 "src/zone/accounting-allocator.cc",
2561 "src/zone/accounting-allocator.h",
2562 "src/zone/zone-allocator.h",
Ben Murdochc8c1d9e2017-03-08 14:04:23 +00002563 "src/zone/zone-chunk-list.h",
Ben Murdochf3b273f2017-01-17 12:11:28 +00002564 "src/zone/zone-containers.h",
Ben Murdoch62ed6312017-06-06 11:06:27 +01002565 "src/zone/zone-handle-set.h",
Rubin Xu2894c6a2019-02-07 16:01:35 +00002566 "src/zone/zone-list-inl.h",
Ben Murdochf3b273f2017-01-17 12:11:28 +00002567 "src/zone/zone-segment.cc",
2568 "src/zone/zone-segment.h",
2569 "src/zone/zone.cc",
2570 "src/zone/zone.h",
Ben Murdochb8a8cc12014-11-26 15:28:44 +00002571 ]
2572
Rubin Xu2894c6a2019-02-07 16:01:35 +00002573 if (v8_check_header_includes) {
2574 # This file will be generated by tools/generate-header-include-checks.py
2575 # if the "check_v8_header_includes" gclient variable is set.
2576 import("check-header-includes/sources.gni")
2577 sources += check_header_includes_sources
2578 }
2579
2580 if (use_jumbo_build == true) {
2581 jumbo_excluded_sources = [
2582 # TODO(mostynb@vewd.com): don't exclude these http://crbug.com/752428
2583 "src/profiler/heap-snapshot-generator.cc", # Macro clash in mman-linux.h
2584
2585 # These source files take an unusually large amount of time to
2586 # compile. Build them separately to avoid bottlenecks.
2587 "src/api.cc",
2588 "src/code-stub-assembler.cc",
2589 "src/elements.cc",
2590 "src/heap/heap.cc",
2591 "src/objects.cc",
2592 "src/parsing/parser.cc",
2593 ]
2594 }
2595
Ben Murdochf91f0612016-11-29 16:50:11 +00002596 if (v8_current_cpu == "x86") {
Ben Murdochf3b273f2017-01-17 12:11:28 +00002597 sources += [ ### gcmole(arch:ia32) ###
Ben Murdoch3b9bc312016-06-02 14:46:10 +01002598 "src/compiler/ia32/code-generator-ia32.cc",
2599 "src/compiler/ia32/instruction-codes-ia32.h",
2600 "src/compiler/ia32/instruction-scheduler-ia32.cc",
2601 "src/compiler/ia32/instruction-selector-ia32.cc",
Ben Murdoch014dc512016-03-22 12:00:34 +00002602 "src/debug/ia32/debug-ia32.cc",
Ben Murdochb8a8cc12014-11-26 15:28:44 +00002603 "src/ia32/assembler-ia32-inl.h",
2604 "src/ia32/assembler-ia32.cc",
2605 "src/ia32/assembler-ia32.h",
Ben Murdochb8a8cc12014-11-26 15:28:44 +00002606 "src/ia32/code-stubs-ia32.cc",
Ben Murdochb8a8cc12014-11-26 15:28:44 +00002607 "src/ia32/codegen-ia32.cc",
Rubin Xu2894c6a2019-02-07 16:01:35 +00002608 "src/ia32/constants-ia32.h",
Ben Murdochb8a8cc12014-11-26 15:28:44 +00002609 "src/ia32/cpu-ia32.cc",
Ben Murdochb8a8cc12014-11-26 15:28:44 +00002610 "src/ia32/deoptimizer-ia32.cc",
2611 "src/ia32/disasm-ia32.cc",
Rubin Xu2894c6a2019-02-07 16:01:35 +00002612 "src/ia32/frame-constants-ia32.cc",
2613 "src/ia32/frame-constants-ia32.h",
Ben Murdochb8a8cc12014-11-26 15:28:44 +00002614 "src/ia32/interface-descriptors-ia32.cc",
Ben Murdochb8a8cc12014-11-26 15:28:44 +00002615 "src/ia32/macro-assembler-ia32.cc",
2616 "src/ia32/macro-assembler-ia32.h",
Ben Murdochf3b273f2017-01-17 12:11:28 +00002617 "src/ia32/simulator-ia32.cc",
2618 "src/ia32/simulator-ia32.h",
Rubin Xu2894c6a2019-02-07 16:01:35 +00002619 "src/ia32/sse-instr.h",
Ben Murdoch014dc512016-03-22 12:00:34 +00002620 "src/regexp/ia32/regexp-macro-assembler-ia32.cc",
2621 "src/regexp/ia32/regexp-macro-assembler-ia32.h",
Rubin Xu2894c6a2019-02-07 16:01:35 +00002622 "src/wasm/baseline/ia32/liftoff-assembler-ia32.h",
Ben Murdochb8a8cc12014-11-26 15:28:44 +00002623 ]
Ben Murdochf91f0612016-11-29 16:50:11 +00002624 } else if (v8_current_cpu == "x64") {
Ben Murdochf3b273f2017-01-17 12:11:28 +00002625 sources += [ ### gcmole(arch:x64) ###
Ben Murdoch014dc512016-03-22 12:00:34 +00002626 "src/compiler/x64/code-generator-x64.cc",
2627 "src/compiler/x64/instruction-codes-x64.h",
2628 "src/compiler/x64/instruction-scheduler-x64.cc",
2629 "src/compiler/x64/instruction-selector-x64.cc",
Ben Murdochf91f0612016-11-29 16:50:11 +00002630 "src/compiler/x64/unwinding-info-writer-x64.cc",
2631 "src/compiler/x64/unwinding-info-writer-x64.h",
Ben Murdoch014dc512016-03-22 12:00:34 +00002632 "src/debug/x64/debug-x64.cc",
Ben Murdoch014dc512016-03-22 12:00:34 +00002633 "src/regexp/x64/regexp-macro-assembler-x64.cc",
2634 "src/regexp/x64/regexp-macro-assembler-x64.h",
Ben Murdochf3b273f2017-01-17 12:11:28 +00002635 "src/third_party/valgrind/valgrind.h",
Rubin Xu2894c6a2019-02-07 16:01:35 +00002636 "src/wasm/baseline/x64/liftoff-assembler-x64.h",
Ben Murdochb8a8cc12014-11-26 15:28:44 +00002637 "src/x64/assembler-x64-inl.h",
2638 "src/x64/assembler-x64.cc",
2639 "src/x64/assembler-x64.h",
Ben Murdochb8a8cc12014-11-26 15:28:44 +00002640 "src/x64/code-stubs-x64.cc",
Ben Murdochb8a8cc12014-11-26 15:28:44 +00002641 "src/x64/codegen-x64.cc",
Rubin Xu2894c6a2019-02-07 16:01:35 +00002642 "src/x64/constants-x64.h",
Ben Murdochb8a8cc12014-11-26 15:28:44 +00002643 "src/x64/cpu-x64.cc",
Ben Murdochb8a8cc12014-11-26 15:28:44 +00002644 "src/x64/deoptimizer-x64.cc",
2645 "src/x64/disasm-x64.cc",
Ben Murdochf91f0612016-11-29 16:50:11 +00002646 "src/x64/eh-frame-x64.cc",
Rubin Xu2894c6a2019-02-07 16:01:35 +00002647 "src/x64/frame-constants-x64.cc",
2648 "src/x64/frame-constants-x64.h",
Ben Murdochb8a8cc12014-11-26 15:28:44 +00002649 "src/x64/interface-descriptors-x64.cc",
Ben Murdochb8a8cc12014-11-26 15:28:44 +00002650 "src/x64/macro-assembler-x64.cc",
2651 "src/x64/macro-assembler-x64.h",
Ben Murdochf3b273f2017-01-17 12:11:28 +00002652 "src/x64/simulator-x64.cc",
2653 "src/x64/simulator-x64.h",
2654 "src/x64/sse-instr.h",
Ben Murdochb8a8cc12014-11-26 15:28:44 +00002655 ]
Rubin Xu2894c6a2019-02-07 16:01:35 +00002656 if (is_linux) {
2657 sources += [
2658 "src/trap-handler/handler-inside-linux.cc",
2659 "src/trap-handler/handler-outside-linux.cc",
2660 ]
2661 }
2662 if (is_win) {
2663 sources += [ "src/trap-handler/handler-outside-win.cc" ]
2664 }
Ben Murdochf91f0612016-11-29 16:50:11 +00002665 } else if (v8_current_cpu == "arm") {
Ben Murdochf3b273f2017-01-17 12:11:28 +00002666 sources += [ ### gcmole(arch:arm) ###
Ben Murdochb8a8cc12014-11-26 15:28:44 +00002667 "src/arm/assembler-arm-inl.h",
2668 "src/arm/assembler-arm.cc",
2669 "src/arm/assembler-arm.h",
Ben Murdochb8a8cc12014-11-26 15:28:44 +00002670 "src/arm/code-stubs-arm.cc",
2671 "src/arm/code-stubs-arm.h",
2672 "src/arm/codegen-arm.cc",
Ben Murdochb8a8cc12014-11-26 15:28:44 +00002673 "src/arm/constants-arm.cc",
Ben Murdoch3b9bc312016-06-02 14:46:10 +01002674 "src/arm/constants-arm.h",
Ben Murdochb8a8cc12014-11-26 15:28:44 +00002675 "src/arm/cpu-arm.cc",
Ben Murdochb8a8cc12014-11-26 15:28:44 +00002676 "src/arm/deoptimizer-arm.cc",
2677 "src/arm/disasm-arm.cc",
Ben Murdochf91f0612016-11-29 16:50:11 +00002678 "src/arm/eh-frame-arm.cc",
Rubin Xu2894c6a2019-02-07 16:01:35 +00002679 "src/arm/frame-constants-arm.cc",
2680 "src/arm/frame-constants-arm.h",
Ben Murdochb8a8cc12014-11-26 15:28:44 +00002681 "src/arm/interface-descriptors-arm.cc",
Ben Murdochb8a8cc12014-11-26 15:28:44 +00002682 "src/arm/macro-assembler-arm.cc",
2683 "src/arm/macro-assembler-arm.h",
Ben Murdochb8a8cc12014-11-26 15:28:44 +00002684 "src/arm/simulator-arm.cc",
Ben Murdoch014dc512016-03-22 12:00:34 +00002685 "src/arm/simulator-arm.h",
Ben Murdochb8a8cc12014-11-26 15:28:44 +00002686 "src/compiler/arm/code-generator-arm.cc",
2687 "src/compiler/arm/instruction-codes-arm.h",
Ben Murdoch014dc512016-03-22 12:00:34 +00002688 "src/compiler/arm/instruction-scheduler-arm.cc",
Ben Murdochb8a8cc12014-11-26 15:28:44 +00002689 "src/compiler/arm/instruction-selector-arm.cc",
Ben Murdochf91f0612016-11-29 16:50:11 +00002690 "src/compiler/arm/unwinding-info-writer-arm.cc",
2691 "src/compiler/arm/unwinding-info-writer-arm.h",
Ben Murdoch014dc512016-03-22 12:00:34 +00002692 "src/debug/arm/debug-arm.cc",
Ben Murdoch014dc512016-03-22 12:00:34 +00002693 "src/regexp/arm/regexp-macro-assembler-arm.cc",
2694 "src/regexp/arm/regexp-macro-assembler-arm.h",
Rubin Xu2894c6a2019-02-07 16:01:35 +00002695 "src/wasm/baseline/arm/liftoff-assembler-arm.h",
Ben Murdochb8a8cc12014-11-26 15:28:44 +00002696 ]
Ben Murdochf91f0612016-11-29 16:50:11 +00002697 } else if (v8_current_cpu == "arm64") {
Ben Murdochf3b273f2017-01-17 12:11:28 +00002698 sources += [ ### gcmole(arch:arm64) ###
Ben Murdoch3b9bc312016-06-02 14:46:10 +01002699 "src/arm64/assembler-arm64-inl.h",
Ben Murdochb8a8cc12014-11-26 15:28:44 +00002700 "src/arm64/assembler-arm64.cc",
2701 "src/arm64/assembler-arm64.h",
Ben Murdochb8a8cc12014-11-26 15:28:44 +00002702 "src/arm64/code-stubs-arm64.cc",
2703 "src/arm64/code-stubs-arm64.h",
Ben Murdoch3b9bc312016-06-02 14:46:10 +01002704 "src/arm64/codegen-arm64.cc",
Ben Murdochb8a8cc12014-11-26 15:28:44 +00002705 "src/arm64/constants-arm64.h",
2706 "src/arm64/cpu-arm64.cc",
Ben Murdoch3b9bc312016-06-02 14:46:10 +01002707 "src/arm64/decoder-arm64-inl.h",
Ben Murdochb8a8cc12014-11-26 15:28:44 +00002708 "src/arm64/decoder-arm64.cc",
2709 "src/arm64/decoder-arm64.h",
Ben Murdochb8a8cc12014-11-26 15:28:44 +00002710 "src/arm64/deoptimizer-arm64.cc",
2711 "src/arm64/disasm-arm64.cc",
2712 "src/arm64/disasm-arm64.h",
Ben Murdochf91f0612016-11-29 16:50:11 +00002713 "src/arm64/eh-frame-arm64.cc",
Rubin Xu2894c6a2019-02-07 16:01:35 +00002714 "src/arm64/frame-constants-arm64.cc",
2715 "src/arm64/frame-constants-arm64.h",
2716 "src/arm64/instructions-arm64-constants.cc",
Ben Murdochb8a8cc12014-11-26 15:28:44 +00002717 "src/arm64/instructions-arm64.cc",
2718 "src/arm64/instructions-arm64.h",
2719 "src/arm64/instrument-arm64.cc",
2720 "src/arm64/instrument-arm64.h",
2721 "src/arm64/interface-descriptors-arm64.cc",
Ben Murdoch3b9bc312016-06-02 14:46:10 +01002722 "src/arm64/macro-assembler-arm64-inl.h",
Ben Murdochb8a8cc12014-11-26 15:28:44 +00002723 "src/arm64/macro-assembler-arm64.cc",
2724 "src/arm64/macro-assembler-arm64.h",
Ben Murdochb8a8cc12014-11-26 15:28:44 +00002725 "src/arm64/simulator-arm64.cc",
2726 "src/arm64/simulator-arm64.h",
Rubin Xu2894c6a2019-02-07 16:01:35 +00002727 "src/arm64/simulator-logic-arm64.cc",
Ben Murdochb8a8cc12014-11-26 15:28:44 +00002728 "src/arm64/utils-arm64.cc",
2729 "src/arm64/utils-arm64.h",
2730 "src/compiler/arm64/code-generator-arm64.cc",
2731 "src/compiler/arm64/instruction-codes-arm64.h",
Ben Murdoch014dc512016-03-22 12:00:34 +00002732 "src/compiler/arm64/instruction-scheduler-arm64.cc",
Ben Murdochb8a8cc12014-11-26 15:28:44 +00002733 "src/compiler/arm64/instruction-selector-arm64.cc",
Ben Murdochf91f0612016-11-29 16:50:11 +00002734 "src/compiler/arm64/unwinding-info-writer-arm64.cc",
2735 "src/compiler/arm64/unwinding-info-writer-arm64.h",
Ben Murdoch014dc512016-03-22 12:00:34 +00002736 "src/debug/arm64/debug-arm64.cc",
Ben Murdoch014dc512016-03-22 12:00:34 +00002737 "src/regexp/arm64/regexp-macro-assembler-arm64.cc",
2738 "src/regexp/arm64/regexp-macro-assembler-arm64.h",
Rubin Xu2894c6a2019-02-07 16:01:35 +00002739 "src/wasm/baseline/arm64/liftoff-assembler-arm64.h",
Ben Murdochb8a8cc12014-11-26 15:28:44 +00002740 ]
Rubin Xu2894c6a2019-02-07 16:01:35 +00002741 if (use_jumbo_build) {
2742 jumbo_excluded_sources += [
2743 # TODO(mostynb@vewd.com): fix this code so it doesn't need
2744 # to be excluded, see the comments inside.
2745 "src/arm64/instructions-arm64-constants.cc",
2746 ]
2747 }
Ben Murdochf3b273f2017-01-17 12:11:28 +00002748 } else if (v8_current_cpu == "mips" || v8_current_cpu == "mipsel") {
2749 sources += [ ### gcmole(arch:mipsel) ###
Ben Murdoch014dc512016-03-22 12:00:34 +00002750 "src/compiler/mips/code-generator-mips.cc",
2751 "src/compiler/mips/instruction-codes-mips.h",
2752 "src/compiler/mips/instruction-scheduler-mips.cc",
2753 "src/compiler/mips/instruction-selector-mips.cc",
Ben Murdoch014dc512016-03-22 12:00:34 +00002754 "src/debug/mips/debug-mips.cc",
Ben Murdoch3b9bc312016-06-02 14:46:10 +01002755 "src/mips/assembler-mips-inl.h",
Ben Murdochb8a8cc12014-11-26 15:28:44 +00002756 "src/mips/assembler-mips.cc",
2757 "src/mips/assembler-mips.h",
Ben Murdochb8a8cc12014-11-26 15:28:44 +00002758 "src/mips/code-stubs-mips.cc",
2759 "src/mips/code-stubs-mips.h",
Ben Murdoch3b9bc312016-06-02 14:46:10 +01002760 "src/mips/codegen-mips.cc",
Ben Murdochb8a8cc12014-11-26 15:28:44 +00002761 "src/mips/constants-mips.cc",
2762 "src/mips/constants-mips.h",
2763 "src/mips/cpu-mips.cc",
Ben Murdochb8a8cc12014-11-26 15:28:44 +00002764 "src/mips/deoptimizer-mips.cc",
2765 "src/mips/disasm-mips.cc",
Rubin Xu2894c6a2019-02-07 16:01:35 +00002766 "src/mips/frame-constants-mips.cc",
2767 "src/mips/frame-constants-mips.h",
Ben Murdochb8a8cc12014-11-26 15:28:44 +00002768 "src/mips/interface-descriptors-mips.cc",
Ben Murdochb8a8cc12014-11-26 15:28:44 +00002769 "src/mips/macro-assembler-mips.cc",
2770 "src/mips/macro-assembler-mips.h",
Ben Murdochb8a8cc12014-11-26 15:28:44 +00002771 "src/mips/simulator-mips.cc",
Ben Murdoch014dc512016-03-22 12:00:34 +00002772 "src/mips/simulator-mips.h",
2773 "src/regexp/mips/regexp-macro-assembler-mips.cc",
2774 "src/regexp/mips/regexp-macro-assembler-mips.h",
Rubin Xu2894c6a2019-02-07 16:01:35 +00002775 "src/wasm/baseline/mips/liftoff-assembler-mips.h",
Ben Murdochb8a8cc12014-11-26 15:28:44 +00002776 ]
Ben Murdochf3b273f2017-01-17 12:11:28 +00002777 } else if (v8_current_cpu == "mips64" || v8_current_cpu == "mips64el") {
2778 sources += [ ### gcmole(arch:mips64el) ###
Ben Murdochbcf72ee2016-08-08 18:44:38 +01002779 "src/compiler/mips64/code-generator-mips64.cc",
2780 "src/compiler/mips64/instruction-codes-mips64.h",
2781 "src/compiler/mips64/instruction-scheduler-mips64.cc",
2782 "src/compiler/mips64/instruction-selector-mips64.cc",
Ben Murdoch014dc512016-03-22 12:00:34 +00002783 "src/debug/mips64/debug-mips64.cc",
Ben Murdoch3b9bc312016-06-02 14:46:10 +01002784 "src/mips64/assembler-mips64-inl.h",
Ben Murdochb8a8cc12014-11-26 15:28:44 +00002785 "src/mips64/assembler-mips64.cc",
2786 "src/mips64/assembler-mips64.h",
Ben Murdochb8a8cc12014-11-26 15:28:44 +00002787 "src/mips64/code-stubs-mips64.cc",
2788 "src/mips64/code-stubs-mips64.h",
Ben Murdoch3b9bc312016-06-02 14:46:10 +01002789 "src/mips64/codegen-mips64.cc",
Ben Murdochb8a8cc12014-11-26 15:28:44 +00002790 "src/mips64/constants-mips64.cc",
2791 "src/mips64/constants-mips64.h",
2792 "src/mips64/cpu-mips64.cc",
Ben Murdochb8a8cc12014-11-26 15:28:44 +00002793 "src/mips64/deoptimizer-mips64.cc",
2794 "src/mips64/disasm-mips64.cc",
Rubin Xu2894c6a2019-02-07 16:01:35 +00002795 "src/mips64/frame-constants-mips64.cc",
2796 "src/mips64/frame-constants-mips64.h",
Ben Murdochb8a8cc12014-11-26 15:28:44 +00002797 "src/mips64/interface-descriptors-mips64.cc",
Ben Murdochb8a8cc12014-11-26 15:28:44 +00002798 "src/mips64/macro-assembler-mips64.cc",
2799 "src/mips64/macro-assembler-mips64.h",
Ben Murdochb8a8cc12014-11-26 15:28:44 +00002800 "src/mips64/simulator-mips64.cc",
Ben Murdoch014dc512016-03-22 12:00:34 +00002801 "src/mips64/simulator-mips64.h",
2802 "src/regexp/mips64/regexp-macro-assembler-mips64.cc",
2803 "src/regexp/mips64/regexp-macro-assembler-mips64.h",
Rubin Xu2894c6a2019-02-07 16:01:35 +00002804 "src/wasm/baseline/mips64/liftoff-assembler-mips64.h",
Ben Murdochb8a8cc12014-11-26 15:28:44 +00002805 ]
Ben Murdochf3b273f2017-01-17 12:11:28 +00002806 } else if (v8_current_cpu == "ppc" || v8_current_cpu == "ppc64") {
2807 sources += [ ### gcmole(arch:ppc) ###
Ben Murdochf3b273f2017-01-17 12:11:28 +00002808 "src/compiler/ppc/code-generator-ppc.cc",
2809 "src/compiler/ppc/instruction-codes-ppc.h",
2810 "src/compiler/ppc/instruction-scheduler-ppc.cc",
2811 "src/compiler/ppc/instruction-selector-ppc.cc",
Ben Murdochf3b273f2017-01-17 12:11:28 +00002812 "src/debug/ppc/debug-ppc.cc",
Ben Murdochf3b273f2017-01-17 12:11:28 +00002813 "src/ppc/assembler-ppc-inl.h",
2814 "src/ppc/assembler-ppc.cc",
2815 "src/ppc/assembler-ppc.h",
2816 "src/ppc/code-stubs-ppc.cc",
2817 "src/ppc/code-stubs-ppc.h",
2818 "src/ppc/codegen-ppc.cc",
Ben Murdochf3b273f2017-01-17 12:11:28 +00002819 "src/ppc/constants-ppc.cc",
2820 "src/ppc/constants-ppc.h",
2821 "src/ppc/cpu-ppc.cc",
2822 "src/ppc/deoptimizer-ppc.cc",
2823 "src/ppc/disasm-ppc.cc",
Rubin Xu2894c6a2019-02-07 16:01:35 +00002824 "src/ppc/frame-constants-ppc.cc",
2825 "src/ppc/frame-constants-ppc.h",
Ben Murdochf3b273f2017-01-17 12:11:28 +00002826 "src/ppc/interface-descriptors-ppc.cc",
2827 "src/ppc/macro-assembler-ppc.cc",
2828 "src/ppc/macro-assembler-ppc.h",
2829 "src/ppc/simulator-ppc.cc",
2830 "src/ppc/simulator-ppc.h",
2831 "src/regexp/ppc/regexp-macro-assembler-ppc.cc",
2832 "src/regexp/ppc/regexp-macro-assembler-ppc.h",
Rubin Xu2894c6a2019-02-07 16:01:35 +00002833 "src/wasm/baseline/ppc/liftoff-assembler-ppc.h",
Ben Murdochf3b273f2017-01-17 12:11:28 +00002834 ]
Ben Murdochf91f0612016-11-29 16:50:11 +00002835 } else if (v8_current_cpu == "s390" || v8_current_cpu == "s390x") {
Ben Murdochf3b273f2017-01-17 12:11:28 +00002836 sources += [ ### gcmole(arch:s390) ###
Ben Murdoch3b9bc312016-06-02 14:46:10 +01002837 "src/compiler/s390/code-generator-s390.cc",
2838 "src/compiler/s390/instruction-codes-s390.h",
2839 "src/compiler/s390/instruction-scheduler-s390.cc",
2840 "src/compiler/s390/instruction-selector-s390.cc",
Ben Murdoch3b9bc312016-06-02 14:46:10 +01002841 "src/debug/s390/debug-s390.cc",
Ben Murdoch3b9bc312016-06-02 14:46:10 +01002842 "src/regexp/s390/regexp-macro-assembler-s390.cc",
2843 "src/regexp/s390/regexp-macro-assembler-s390.h",
2844 "src/s390/assembler-s390-inl.h",
2845 "src/s390/assembler-s390.cc",
2846 "src/s390/assembler-s390.h",
Ben Murdoch3b9bc312016-06-02 14:46:10 +01002847 "src/s390/code-stubs-s390.cc",
2848 "src/s390/code-stubs-s390.h",
2849 "src/s390/codegen-s390.cc",
Ben Murdoch3b9bc312016-06-02 14:46:10 +01002850 "src/s390/constants-s390.cc",
2851 "src/s390/constants-s390.h",
2852 "src/s390/cpu-s390.cc",
2853 "src/s390/deoptimizer-s390.cc",
2854 "src/s390/disasm-s390.cc",
Rubin Xu2894c6a2019-02-07 16:01:35 +00002855 "src/s390/frame-constants-s390.cc",
2856 "src/s390/frame-constants-s390.h",
Ben Murdoch3b9bc312016-06-02 14:46:10 +01002857 "src/s390/interface-descriptors-s390.cc",
2858 "src/s390/macro-assembler-s390.cc",
2859 "src/s390/macro-assembler-s390.h",
2860 "src/s390/simulator-s390.cc",
2861 "src/s390/simulator-s390.h",
Rubin Xu2894c6a2019-02-07 16:01:35 +00002862 "src/wasm/baseline/s390/liftoff-assembler-s390.h",
Ben Murdochf3b273f2017-01-17 12:11:28 +00002863 ]
Ben Murdochb8a8cc12014-11-26 15:28:44 +00002864 }
2865
Ben Murdochbcf72ee2016-08-08 18:44:38 +01002866 configs = [ ":internal_config" ]
Ben Murdochb8a8cc12014-11-26 15:28:44 +00002867
2868 defines = []
Ben Murdoch014dc512016-03-22 12:00:34 +00002869 deps = [
Rubin Xu2894c6a2019-02-07 16:01:35 +00002870 ":torque_generated_core",
2871 ":v8_headers",
Ben Murdoch014dc512016-03-22 12:00:34 +00002872 ":v8_libbase",
Ben Murdoch13e2dad2016-09-16 13:49:30 +01002873 ":v8_libsampler",
Rubin Xu2894c6a2019-02-07 16:01:35 +00002874 "src/inspector:inspector",
Ben Murdoch014dc512016-03-22 12:00:34 +00002875 ]
Ben Murdochb8a8cc12014-11-26 15:28:44 +00002876
Ben Murdochb8a8cc12014-11-26 15:28:44 +00002877 if (v8_enable_i18n_support) {
Rubin Xu2894c6a2019-02-07 16:01:35 +00002878 public_deps = [
2879 "//third_party/icu",
2880 ]
Ben Murdochb8a8cc12014-11-26 15:28:44 +00002881 if (is_win) {
2882 deps += [ "//third_party/icu:icudata" ]
2883 }
Ben Murdochb8a8cc12014-11-26 15:28:44 +00002884 } else {
2885 sources -= [
Rubin Xu2894c6a2019-02-07 16:01:35 +00002886 "src/builtins/builtins-intl.cc",
2887 "src/builtins/builtins-intl.h",
2888 "src/char-predicates.cc",
2889 "src/intl.cc",
2890 "src/intl.h",
2891 "src/objects/intl-objects-inl.h",
2892 "src/objects/intl-objects.cc",
2893 "src/objects/intl-objects.h",
2894 "src/objects/js-collator-inl.h",
2895 "src/objects/js-collator.cc",
2896 "src/objects/js-collator.h",
2897 "src/objects/js-list-format-inl.h",
2898 "src/objects/js-list-format.cc",
2899 "src/objects/js-list-format.h",
2900 "src/objects/js-locale-inl.h",
2901 "src/objects/js-locale.cc",
2902 "src/objects/js-locale.h",
2903 "src/objects/js-plural-rules-inl.h",
2904 "src/objects/js-plural-rules.cc",
2905 "src/objects/js-plural-rules.h",
2906 "src/objects/js-relative-time-format-inl.h",
2907 "src/objects/js-relative-time-format.cc",
2908 "src/objects/js-relative-time-format.h",
2909 "src/runtime/runtime-intl.cc",
Ben Murdochb8a8cc12014-11-26 15:28:44 +00002910 ]
2911 }
2912
2913 if (v8_postmortem_support) {
2914 sources += [ "$target_gen_dir/debug-support.cc" ]
2915 deps += [ ":postmortem-metadata" ]
2916 }
Rubin Xu2894c6a2019-02-07 16:01:35 +00002917}
Ben Murdochf3b273f2017-01-17 12:11:28 +00002918
Rubin Xu2894c6a2019-02-07 16:01:35 +00002919v8_source_set("torque_base") {
2920 visibility = [ ":*" ] # Only targets in this file can depend on this.
2921
2922 sources = [
2923 "src/torque/ast.h",
2924 "src/torque/contextual.h",
2925 "src/torque/declarable.cc",
2926 "src/torque/declarable.h",
2927 "src/torque/declaration-visitor.cc",
2928 "src/torque/declaration-visitor.h",
2929 "src/torque/declarations.cc",
2930 "src/torque/declarations.h",
2931 "src/torque/earley-parser.cc",
2932 "src/torque/earley-parser.h",
2933 "src/torque/file-visitor.cc",
2934 "src/torque/file-visitor.h",
2935 "src/torque/global-context.h",
2936 "src/torque/implementation-visitor.cc",
2937 "src/torque/implementation-visitor.h",
2938 "src/torque/scope.cc",
2939 "src/torque/scope.h",
2940 "src/torque/source-positions.cc",
2941 "src/torque/source-positions.h",
2942 "src/torque/torque-parser.cc",
2943 "src/torque/torque-parser.h",
2944 "src/torque/type-oracle.cc",
2945 "src/torque/type-oracle.h",
2946 "src/torque/types.cc",
2947 "src/torque/types.h",
2948 "src/torque/utils.cc",
2949 "src/torque/utils.h",
2950 ]
2951
2952 deps = [
2953 ":v8_libbase",
2954 ]
2955
2956 configs = [ ":internal_config" ]
Ben Murdochb8a8cc12014-11-26 15:28:44 +00002957}
2958
Ben Murdochc8c1d9e2017-03-08 14:04:23 +00002959v8_component("v8_libbase") {
Ben Murdochb8a8cc12014-11-26 15:28:44 +00002960 sources = [
Ben Murdoch014dc512016-03-22 12:00:34 +00002961 "src/base/adapters.h",
Ben Murdochbcf72ee2016-08-08 18:44:38 +01002962 "src/base/atomic-utils.h",
Ben Murdochb8a8cc12014-11-26 15:28:44 +00002963 "src/base/atomicops.h",
Ben Murdochb8a8cc12014-11-26 15:28:44 +00002964 "src/base/atomicops_internals_atomicword_compat.h",
Ben Murdochc8c1d9e2017-03-08 14:04:23 +00002965 "src/base/atomicops_internals_portable.h",
Rubin Xu2894c6a2019-02-07 16:01:35 +00002966 "src/base/atomicops_internals_std.h",
Ben Murdochc8c1d9e2017-03-08 14:04:23 +00002967 "src/base/base-export.h",
Ben Murdochb8a8cc12014-11-26 15:28:44 +00002968 "src/base/bits.cc",
2969 "src/base/bits.h",
2970 "src/base/build_config.h",
Ben Murdochf3b273f2017-01-17 12:11:28 +00002971 "src/base/compiler-specific.h",
Ben Murdochb8a8cc12014-11-26 15:28:44 +00002972 "src/base/cpu.cc",
2973 "src/base/cpu.h",
Ben Murdochf91f0612016-11-29 16:50:11 +00002974 "src/base/debug/stack_trace.cc",
2975 "src/base/debug/stack_trace.h",
Ben Murdochb8a8cc12014-11-26 15:28:44 +00002976 "src/base/division-by-constant.cc",
2977 "src/base/division-by-constant.h",
Rubin Xu2894c6a2019-02-07 16:01:35 +00002978 "src/base/export-template.h",
Ben Murdoch13e2dad2016-09-16 13:49:30 +01002979 "src/base/file-utils.cc",
2980 "src/base/file-utils.h",
Ben Murdochb8a8cc12014-11-26 15:28:44 +00002981 "src/base/flags.h",
Ben Murdochbcf72ee2016-08-08 18:44:38 +01002982 "src/base/format-macros.h",
Ben Murdochf91f0612016-11-29 16:50:11 +00002983 "src/base/free_deleter.h",
Emily Bernier958fae72015-03-24 16:35:39 -04002984 "src/base/functional.cc",
2985 "src/base/functional.h",
Ben Murdochf3b273f2017-01-17 12:11:28 +00002986 "src/base/hashmap-entry.h",
Ben Murdoch13e2dad2016-09-16 13:49:30 +01002987 "src/base/hashmap.h",
2988 "src/base/ieee754.cc",
2989 "src/base/ieee754.h",
Emily Bernier958fae72015-03-24 16:35:39 -04002990 "src/base/iterator.h",
Ben Murdochb8a8cc12014-11-26 15:28:44 +00002991 "src/base/lazy-instance.h",
Rubin Xu2894c6a2019-02-07 16:01:35 +00002992 "src/base/list.h",
Ben Murdochb8a8cc12014-11-26 15:28:44 +00002993 "src/base/logging.cc",
2994 "src/base/logging.h",
2995 "src/base/macros.h",
2996 "src/base/once.cc",
2997 "src/base/once.h",
Rubin Xu2894c6a2019-02-07 16:01:35 +00002998 "src/base/optional.h",
2999 "src/base/page-allocator.cc",
3000 "src/base/page-allocator.h",
Ben Murdochb8a8cc12014-11-26 15:28:44 +00003001 "src/base/platform/condition-variable.cc",
3002 "src/base/platform/condition-variable.h",
Ben Murdoch3b9bc312016-06-02 14:46:10 +01003003 "src/base/platform/elapsed-timer.h",
Ben Murdochb8a8cc12014-11-26 15:28:44 +00003004 "src/base/platform/mutex.cc",
3005 "src/base/platform/mutex.h",
3006 "src/base/platform/platform.h",
3007 "src/base/platform/semaphore.cc",
3008 "src/base/platform/semaphore.h",
Ben Murdoch3b9bc312016-06-02 14:46:10 +01003009 "src/base/platform/time.cc",
3010 "src/base/platform/time.h",
Ben Murdochc8c1d9e2017-03-08 14:04:23 +00003011 "src/base/ring-buffer.h",
Ben Murdochb8a8cc12014-11-26 15:28:44 +00003012 "src/base/safe_conversions.h",
3013 "src/base/safe_conversions_impl.h",
3014 "src/base/safe_math.h",
3015 "src/base/safe_math_impl.h",
3016 "src/base/sys-info.cc",
3017 "src/base/sys-info.h",
Rubin Xu2894c6a2019-02-07 16:01:35 +00003018 "src/base/template-utils.h",
3019 "src/base/timezone-cache.h",
3020 "src/base/tsan.h",
Ben Murdochb8a8cc12014-11-26 15:28:44 +00003021 "src/base/utils/random-number-generator.cc",
3022 "src/base/utils/random-number-generator.h",
3023 ]
3024
Ben Murdochbcf72ee2016-08-08 18:44:38 +01003025 configs = [ ":internal_config_base" ]
Ben Murdochb8a8cc12014-11-26 15:28:44 +00003026
Ben Murdochc8c1d9e2017-03-08 14:04:23 +00003027 public_configs = [ ":libbase_config" ]
3028
Rubin Xu2894c6a2019-02-07 16:01:35 +00003029 public_deps = []
3030
3031 data = []
3032
3033 data_deps = []
3034
Ben Murdochb8a8cc12014-11-26 15:28:44 +00003035 defines = []
3036
Ben Murdochc8c1d9e2017-03-08 14:04:23 +00003037 if (is_component_build) {
3038 defines = [ "BUILDING_V8_BASE_SHARED" ]
3039 }
3040
Rubin Xu2894c6a2019-02-07 16:01:35 +00003041 if (is_posix || is_fuchsia) {
3042 sources += [
3043 "src/base/platform/platform-posix.cc",
3044 "src/base/platform/platform-posix.h",
3045 ]
3046 if (current_os != "aix") {
3047 sources += [
3048 "src/base/platform/platform-posix-time.cc",
3049 "src/base/platform/platform-posix-time.h",
3050 ]
3051 }
Ben Murdochb8a8cc12014-11-26 15:28:44 +00003052 }
3053
3054 if (is_linux) {
Ben Murdochf91f0612016-11-29 16:50:11 +00003055 sources += [
3056 "src/base/debug/stack_trace_posix.cc",
3057 "src/base/platform/platform-linux.cc",
3058 ]
Ben Murdochb8a8cc12014-11-26 15:28:44 +00003059
Ben Murdoch3b9bc312016-06-02 14:46:10 +01003060 libs = [
3061 "dl",
3062 "rt",
3063 ]
Rubin Xu2894c6a2019-02-07 16:01:35 +00003064 } else if (current_os == "aix") {
3065 sources += [
3066 "src/base/debug/stack_trace_posix.cc",
3067 "src/base/platform/platform-aix.cc",
3068 ]
3069
3070 libs = [
3071 "dl",
3072 "rt",
3073 ]
Ben Murdochb8a8cc12014-11-26 15:28:44 +00003074 } else if (is_android) {
Ben Murdoch014dc512016-03-22 12:00:34 +00003075 if (current_toolchain == host_toolchain) {
Ben Murdoch3b9bc312016-06-02 14:46:10 +01003076 libs = [
3077 "dl",
3078 "rt",
3079 ]
Ben Murdoch014dc512016-03-22 12:00:34 +00003080 if (host_os == "mac") {
Ben Murdochf91f0612016-11-29 16:50:11 +00003081 sources += [
3082 "src/base/debug/stack_trace_posix.cc",
3083 "src/base/platform/platform-macos.cc",
3084 ]
Ben Murdochb8a8cc12014-11-26 15:28:44 +00003085 } else {
Ben Murdochf91f0612016-11-29 16:50:11 +00003086 sources += [
3087 "src/base/debug/stack_trace_posix.cc",
3088 "src/base/platform/platform-linux.cc",
3089 ]
Ben Murdochb8a8cc12014-11-26 15:28:44 +00003090 }
3091 } else {
Ben Murdochf91f0612016-11-29 16:50:11 +00003092 sources += [
3093 "src/base/debug/stack_trace_android.cc",
3094 "src/base/platform/platform-linux.cc",
3095 ]
Ben Murdochb8a8cc12014-11-26 15:28:44 +00003096 }
Rubin Xu2894c6a2019-02-07 16:01:35 +00003097 } else if (is_fuchsia) {
3098 sources += [
3099 "src/base/debug/stack_trace_fuchsia.cc",
3100 "src/base/platform/platform-fuchsia.cc",
3101 ]
Ben Murdochb8a8cc12014-11-26 15:28:44 +00003102 } else if (is_mac) {
Ben Murdochf91f0612016-11-29 16:50:11 +00003103 sources += [
3104 "src/base/debug/stack_trace_posix.cc",
3105 "src/base/platform/platform-macos.cc",
3106 ]
Ben Murdochb8a8cc12014-11-26 15:28:44 +00003107 } else if (is_win) {
3108 # TODO(jochen): Add support for cygwin.
3109 sources += [
Ben Murdochf91f0612016-11-29 16:50:11 +00003110 "src/base/debug/stack_trace_win.cc",
Ben Murdochb8a8cc12014-11-26 15:28:44 +00003111 "src/base/platform/platform-win32.cc",
3112 "src/base/win32-headers.h",
Ben Murdochb8a8cc12014-11-26 15:28:44 +00003113 ]
3114
3115 defines += [ "_CRT_RAND_S" ] # for rand_s()
3116
Ben Murdoch014dc512016-03-22 12:00:34 +00003117 libs = [
Ben Murdochf91f0612016-11-29 16:50:11 +00003118 "dbghelp.lib",
3119 "shlwapi.lib",
Ben Murdoch014dc512016-03-22 12:00:34 +00003120 "winmm.lib",
3121 "ws2_32.lib",
3122 ]
Rubin Xu2894c6a2019-02-07 16:01:35 +00003123
3124 data_deps += [ "//build/win:runtime_libs" ]
3125 }
3126
3127 if (is_tsan && !build_with_chromium) {
3128 data += [ "tools/sanitizers/tsan_suppressions.txt" ]
Ben Murdochb8a8cc12014-11-26 15:28:44 +00003129 }
3130
3131 # TODO(jochen): Add support for qnx, freebsd, openbsd, netbsd, and solaris.
3132}
3133
Ben Murdochc8c1d9e2017-03-08 14:04:23 +00003134v8_component("v8_libplatform") {
Ben Murdochb8a8cc12014-11-26 15:28:44 +00003135 sources = [
Ben Murdochf91f0612016-11-29 16:50:11 +00003136 "//base/trace_event/common/trace_event_common.h",
Ben Murdochc8c1d9e2017-03-08 14:04:23 +00003137 "include/libplatform/libplatform-export.h",
Ben Murdochb8a8cc12014-11-26 15:28:44 +00003138 "include/libplatform/libplatform.h",
Ben Murdochf91f0612016-11-29 16:50:11 +00003139 "include/libplatform/v8-tracing.h",
Rubin Xu2894c6a2019-02-07 16:01:35 +00003140 "src/libplatform/default-foreground-task-runner.cc",
3141 "src/libplatform/default-foreground-task-runner.h",
Ben Murdochb8a8cc12014-11-26 15:28:44 +00003142 "src/libplatform/default-platform.cc",
3143 "src/libplatform/default-platform.h",
Rubin Xu2894c6a2019-02-07 16:01:35 +00003144 "src/libplatform/default-worker-threads-task-runner.cc",
3145 "src/libplatform/default-worker-threads-task-runner.h",
Ben Murdochb8a8cc12014-11-26 15:28:44 +00003146 "src/libplatform/task-queue.cc",
3147 "src/libplatform/task-queue.h",
Ben Murdochf91f0612016-11-29 16:50:11 +00003148 "src/libplatform/tracing/trace-buffer.cc",
3149 "src/libplatform/tracing/trace-buffer.h",
3150 "src/libplatform/tracing/trace-config.cc",
3151 "src/libplatform/tracing/trace-object.cc",
3152 "src/libplatform/tracing/trace-writer.cc",
3153 "src/libplatform/tracing/trace-writer.h",
3154 "src/libplatform/tracing/tracing-controller.cc",
Ben Murdochb8a8cc12014-11-26 15:28:44 +00003155 "src/libplatform/worker-thread.cc",
3156 "src/libplatform/worker-thread.h",
3157 ]
3158
Ben Murdochbcf72ee2016-08-08 18:44:38 +01003159 configs = [ ":internal_config_base" ]
Ben Murdochb8a8cc12014-11-26 15:28:44 +00003160
Ben Murdochc8c1d9e2017-03-08 14:04:23 +00003161 if (is_component_build) {
3162 defines = [ "BUILDING_V8_PLATFORM_SHARED" ]
3163 }
3164
Ben Murdochbcf72ee2016-08-08 18:44:38 +01003165 public_configs = [ ":libplatform_config" ]
Ben Murdochb8a8cc12014-11-26 15:28:44 +00003166
3167 deps = [
3168 ":v8_libbase",
3169 ]
3170}
3171
Ben Murdoch13e2dad2016-09-16 13:49:30 +01003172v8_source_set("v8_libsampler") {
3173 sources = [
Ben Murdochf91f0612016-11-29 16:50:11 +00003174 "src/libsampler/sampler.cc",
3175 "src/libsampler/sampler.h",
Ben Murdoch13e2dad2016-09-16 13:49:30 +01003176 ]
3177
3178 configs = [ ":internal_config_base" ]
3179
3180 public_configs = [ ":libsampler_config" ]
3181
3182 deps = [
3183 ":v8_libbase",
3184 ]
3185}
3186
Ben Murdochbcf72ee2016-08-08 18:44:38 +01003187v8_source_set("fuzzer_support") {
Ben Murdoch109988c2016-05-18 11:27:45 +01003188 visibility = [ ":*" ] # Only targets in this file can depend on this.
3189
3190 sources = [
3191 "test/fuzzer/fuzzer-support.cc",
3192 "test/fuzzer/fuzzer-support.h",
3193 ]
3194
Ben Murdochbcf72ee2016-08-08 18:44:38 +01003195 configs = [ ":internal_config_base" ]
Ben Murdoch109988c2016-05-18 11:27:45 +01003196
3197 deps = [
Ben Murdochf3b273f2017-01-17 12:11:28 +00003198 ":v8",
3199 ]
3200
3201 public_deps = [
Ben Murdochc8c1d9e2017-03-08 14:04:23 +00003202 ":v8_libbase",
Ben Murdochbcf72ee2016-08-08 18:44:38 +01003203 ":v8_libplatform",
3204 ]
Ben Murdoch109988c2016-05-18 11:27:45 +01003205
Ben Murdoch62ed6312017-06-06 11:06:27 +01003206 if (v8_enable_i18n_support) {
Rubin Xu2894c6a2019-02-07 16:01:35 +00003207 public_deps += [ "//third_party/icu" ]
3208 }
3209}
3210
3211###############################################################################
3212# Produce a single static library for embedders
3213#
3214
3215if (v8_monolithic) {
3216 # A component build is not monolithic.
3217 assert(!is_component_build)
3218
3219 # Using external startup data would produce separate files.
3220 assert(!v8_use_external_startup_data)
3221 v8_static_library("v8_monolith") {
3222 deps = [
3223 ":v8",
3224 ":v8_libbase",
3225 ":v8_libplatform",
3226 ":v8_libsampler",
3227 "//build/win:default_exe_manifest",
3228 ]
3229
3230 configs = [ ":internal_config" ]
Ben Murdoch62ed6312017-06-06 11:06:27 +01003231 }
Ben Murdoch13e2dad2016-09-16 13:49:30 +01003232}
3233
Ben Murdochb8a8cc12014-11-26 15:28:44 +00003234###############################################################################
3235# Executables
3236#
3237
Rubin Xu2894c6a2019-02-07 16:01:35 +00003238if (v8_use_snapshot && current_toolchain == v8_snapshot_toolchain) {
Ben Murdoch13e2dad2016-09-16 13:49:30 +01003239 v8_executable("mksnapshot") {
Ben Murdochb8a8cc12014-11-26 15:28:44 +00003240 visibility = [ ":*" ] # Only targets in this file can depend on this.
3241
3242 sources = [
Ben Murdoch014dc512016-03-22 12:00:34 +00003243 "src/snapshot/mksnapshot.cc",
Ben Murdochb8a8cc12014-11-26 15:28:44 +00003244 ]
3245
Ben Murdoch13e2dad2016-09-16 13:49:30 +01003246 configs = [ ":internal_config" ]
Ben Murdochb8a8cc12014-11-26 15:28:44 +00003247
3248 deps = [
3249 ":v8_base",
Rubin Xu2894c6a2019-02-07 16:01:35 +00003250 ":v8_init",
Ben Murdochc8c1d9e2017-03-08 14:04:23 +00003251 ":v8_libbase",
Ben Murdochb8a8cc12014-11-26 15:28:44 +00003252 ":v8_libplatform",
3253 ":v8_nosnapshot",
Ben Murdochbcf72ee2016-08-08 18:44:38 +01003254 "//build/win:default_exe_manifest",
Ben Murdochb8a8cc12014-11-26 15:28:44 +00003255 ]
Ben Murdochb8a8cc12014-11-26 15:28:44 +00003256 }
3257}
3258
Rubin Xu2894c6a2019-02-07 16:01:35 +00003259if (current_toolchain == v8_snapshot_toolchain) {
3260 v8_executable("torque") {
3261 visibility = [ ":*" ] # Only targets in this file can depend on this.
Ben Murdochf91f0612016-11-29 16:50:11 +00003262
Rubin Xu2894c6a2019-02-07 16:01:35 +00003263 sources = [
3264 "src/torque/torque.cc",
3265 ]
Ben Murdochf91f0612016-11-29 16:50:11 +00003266
Rubin Xu2894c6a2019-02-07 16:01:35 +00003267 deps = [
3268 ":torque_base",
3269 "//build/win:default_exe_manifest",
3270 ]
Ben Murdochf91f0612016-11-29 16:50:11 +00003271
Rubin Xu2894c6a2019-02-07 16:01:35 +00003272 configs = [ ":internal_config" ]
3273 }
Ben Murdochf91f0612016-11-29 16:50:11 +00003274}
3275
Ben Murdochb8a8cc12014-11-26 15:28:44 +00003276###############################################################################
3277# Public targets
3278#
3279
Ben Murdoch13e2dad2016-09-16 13:49:30 +01003280want_v8_shell =
3281 (current_toolchain == host_toolchain && v8_toolset_for_shell == "host") ||
3282 (current_toolchain == v8_snapshot_toolchain &&
3283 v8_toolset_for_shell == "host") ||
3284 (current_toolchain != host_toolchain && v8_toolset_for_shell == "target")
3285
3286group("gn_all") {
3287 testonly = true
3288
3289 deps = [
3290 ":d8",
Ben Murdoch62ed6312017-06-06 11:06:27 +01003291 ":v8_fuzzers",
Ben Murdoch13e2dad2016-09-16 13:49:30 +01003292 ":v8_hello_world",
Ben Murdoch13e2dad2016-09-16 13:49:30 +01003293 ":v8_sample_process",
Ben Murdoch13e2dad2016-09-16 13:49:30 +01003294 "test:gn_all",
3295 "tools:gn_all",
3296 ]
3297
Rubin Xu2894c6a2019-02-07 16:01:35 +00003298 if (v8_custom_deps != "") {
3299 # Custom dependency from directory under v8/custom_deps.
3300 deps += [ v8_custom_deps ]
Ben Murdoch13e2dad2016-09-16 13:49:30 +01003301 }
3302
Rubin Xu2894c6a2019-02-07 16:01:35 +00003303 if (want_v8_shell) {
3304 deps += [ ":v8_shell" ]
Ben Murdoch13e2dad2016-09-16 13:49:30 +01003305 }
3306}
3307
Ben Murdoch62ed6312017-06-06 11:06:27 +01003308group("v8_clusterfuzz") {
Rubin Xu2894c6a2019-02-07 16:01:35 +00003309 testonly = true
3310
Ben Murdoch62ed6312017-06-06 11:06:27 +01003311 deps = [
3312 ":d8",
3313 ]
3314
3315 if (v8_multi_arch_build) {
3316 deps += [
3317 ":d8(//build/toolchain/linux:clang_x64)",
3318 ":d8(//build/toolchain/linux:clang_x64_v8_arm64)",
3319 ":d8(//build/toolchain/linux:clang_x86)",
3320 ":d8(//build/toolchain/linux:clang_x86_v8_arm)",
3321 ]
3322 }
3323}
3324
Rubin Xu2894c6a2019-02-07 16:01:35 +00003325group("v8_archive") {
3326 testonly = true
3327
3328 deps = [
3329 ":d8",
3330 "test/cctest:cctest",
3331 ]
3332}
3333
Ben Murdoch62ed6312017-06-06 11:06:27 +01003334group("v8_fuzzers") {
3335 testonly = true
Rubin Xu2894c6a2019-02-07 16:01:35 +00003336 data_deps = [
Ben Murdoch62ed6312017-06-06 11:06:27 +01003337 ":v8_simple_json_fuzzer",
Rubin Xu2894c6a2019-02-07 16:01:35 +00003338 ":v8_simple_multi_return_fuzzer",
Ben Murdoch62ed6312017-06-06 11:06:27 +01003339 ":v8_simple_parser_fuzzer",
Rubin Xu2894c6a2019-02-07 16:01:35 +00003340 ":v8_simple_regexp_builtins_fuzzer",
Ben Murdoch62ed6312017-06-06 11:06:27 +01003341 ":v8_simple_regexp_fuzzer",
Rubin Xu2894c6a2019-02-07 16:01:35 +00003342 ":v8_simple_wasm_async_fuzzer",
Ben Murdoch62ed6312017-06-06 11:06:27 +01003343 ":v8_simple_wasm_code_fuzzer",
Rubin Xu2894c6a2019-02-07 16:01:35 +00003344 ":v8_simple_wasm_compile_fuzzer",
Ben Murdoch62ed6312017-06-06 11:06:27 +01003345 ":v8_simple_wasm_data_section_fuzzer",
3346 ":v8_simple_wasm_function_sigs_section_fuzzer",
3347 ":v8_simple_wasm_fuzzer",
3348 ":v8_simple_wasm_globals_section_fuzzer",
3349 ":v8_simple_wasm_imports_section_fuzzer",
3350 ":v8_simple_wasm_memory_section_fuzzer",
3351 ":v8_simple_wasm_names_section_fuzzer",
3352 ":v8_simple_wasm_types_section_fuzzer",
3353 ]
3354}
3355
Ben Murdoch014dc512016-03-22 12:00:34 +00003356if (is_component_build) {
Ben Murdoch13e2dad2016-09-16 13:49:30 +01003357 v8_component("v8") {
Ben Murdoch014dc512016-03-22 12:00:34 +00003358 sources = [
3359 "src/v8dll-main.cc",
3360 ]
3361
3362 public_deps = [
3363 ":v8_base",
Ben Murdoch13e2dad2016-09-16 13:49:30 +01003364 ":v8_maybe_snapshot",
Ben Murdoch014dc512016-03-22 12:00:34 +00003365 ]
3366
Ben Murdoch13e2dad2016-09-16 13:49:30 +01003367 configs = [ ":internal_config" ]
Ben Murdoch014dc512016-03-22 12:00:34 +00003368
3369 public_configs = [ ":external_config" ]
Ben Murdoch014dc512016-03-22 12:00:34 +00003370 }
Rubin Xu2894c6a2019-02-07 16:01:35 +00003371
3372 v8_component("v8_for_testing") {
3373 testonly = true
3374
3375 sources = [
3376 "src/v8dll-main.cc",
Ben Murdochf91f0612016-11-29 16:50:11 +00003377 ]
3378
Ben Murdoch014dc512016-03-22 12:00:34 +00003379 public_deps = [
Rubin Xu2894c6a2019-02-07 16:01:35 +00003380 ":torque_base",
3381 ":v8_base",
3382 ":v8_maybe_snapshot",
3383 ]
3384
3385 if (v8_use_snapshot) {
3386 public_deps += [ ":v8_initializers" ]
3387 }
3388
3389 configs = [ ":internal_config" ]
3390
3391 public_configs = [ ":external_config" ]
3392 }
3393} else {
3394 group("v8") {
3395 public_deps = [
Ben Murdoch014dc512016-03-22 12:00:34 +00003396 ":v8_base",
Ben Murdoch13e2dad2016-09-16 13:49:30 +01003397 ":v8_maybe_snapshot",
Ben Murdoch014dc512016-03-22 12:00:34 +00003398 ]
Ben Murdoch62ed6312017-06-06 11:06:27 +01003399
Ben Murdoch014dc512016-03-22 12:00:34 +00003400 public_configs = [ ":external_config" ]
3401 }
Rubin Xu2894c6a2019-02-07 16:01:35 +00003402
3403 group("v8_for_testing") {
3404 testonly = true
3405
3406 public_deps = [
3407 ":torque_base",
3408 ":v8_base",
3409 ":v8_maybe_snapshot",
3410 ]
3411
3412 if (v8_use_snapshot) {
3413 public_deps += [ ":v8_initializers" ]
3414 }
3415
3416 public_configs = [ ":external_config" ]
3417 }
Ben Murdoch014dc512016-03-22 12:00:34 +00003418}
3419
Ben Murdoch13e2dad2016-09-16 13:49:30 +01003420v8_executable("d8") {
Ben Murdochbcf72ee2016-08-08 18:44:38 +01003421 sources = [
Ben Murdochf3b273f2017-01-17 12:11:28 +00003422 "$target_gen_dir/d8-js.cc",
Rubin Xu2894c6a2019-02-07 16:01:35 +00003423 "src/async-hooks-wrapper.cc",
3424 "src/async-hooks-wrapper.h",
3425 "src/d8-console.cc",
3426 "src/d8-console.h",
Ben Murdochbcf72ee2016-08-08 18:44:38 +01003427 "src/d8.cc",
3428 "src/d8.h",
3429 ]
3430
Ben Murdoch13e2dad2016-09-16 13:49:30 +01003431 configs = [
Ben Murdochbcf72ee2016-08-08 18:44:38 +01003432 # Note: don't use :internal_config here because this target will get
3433 # the :external_config applied to it by virtue of depending on :v8, and
3434 # you can't have both applied to the same target.
3435 ":internal_config_base",
Ben Murdochbcf72ee2016-08-08 18:44:38 +01003436 ]
3437
3438 deps = [
3439 ":d8_js2c",
3440 ":v8",
Ben Murdochc8c1d9e2017-03-08 14:04:23 +00003441 ":v8_libbase",
Ben Murdochbcf72ee2016-08-08 18:44:38 +01003442 ":v8_libplatform",
Ben Murdochbcf72ee2016-08-08 18:44:38 +01003443 "//build/win:default_exe_manifest",
3444 ]
3445
Rubin Xu2894c6a2019-02-07 16:01:35 +00003446 if (is_posix || is_fuchsia) {
Ben Murdochbcf72ee2016-08-08 18:44:38 +01003447 sources += [ "src/d8-posix.cc" ]
3448 } else if (is_win) {
3449 sources += [ "src/d8-windows.cc" ]
3450 }
3451
Ben Murdoch62ed6312017-06-06 11:06:27 +01003452 if (v8_correctness_fuzzer) {
Rubin Xu2894c6a2019-02-07 16:01:35 +00003453 deps += [ "tools/clusterfuzz:v8_correctness_fuzzer_resources" ]
Ben Murdoch62ed6312017-06-06 11:06:27 +01003454 }
3455
Ben Murdochc8c1d9e2017-03-08 14:04:23 +00003456 defines = []
Ben Murdoch62ed6312017-06-06 11:06:27 +01003457
3458 if (v8_enable_vtunejit) {
Rubin Xu2894c6a2019-02-07 16:01:35 +00003459 deps += [ "src/third_party/vtune:v8_vtune" ]
Ben Murdoch62ed6312017-06-06 11:06:27 +01003460 }
Ben Murdochbcf72ee2016-08-08 18:44:38 +01003461}
3462
Ben Murdoch13e2dad2016-09-16 13:49:30 +01003463v8_executable("v8_hello_world") {
3464 sources = [
3465 "samples/hello-world.cc",
3466 ]
3467
3468 configs = [
3469 # Note: don't use :internal_config here because this target will get
3470 # the :external_config applied to it by virtue of depending on :v8, and
3471 # you can't have both applied to the same target.
3472 ":internal_config_base",
3473 ]
3474
3475 deps = [
3476 ":v8",
Ben Murdochc8c1d9e2017-03-08 14:04:23 +00003477 ":v8_libbase",
Ben Murdoch13e2dad2016-09-16 13:49:30 +01003478 ":v8_libplatform",
Ben Murdoch13e2dad2016-09-16 13:49:30 +01003479 "//build/win:default_exe_manifest",
3480 ]
Ben Murdoch13e2dad2016-09-16 13:49:30 +01003481}
3482
3483v8_executable("v8_sample_process") {
3484 sources = [
3485 "samples/process.cc",
3486 ]
3487
3488 configs = [
3489 # Note: don't use :internal_config here because this target will get
3490 # the :external_config applied to it by virtue of depending on :v8, and
3491 # you can't have both applied to the same target.
3492 ":internal_config_base",
3493 ]
3494
3495 deps = [
3496 ":v8",
Ben Murdochc8c1d9e2017-03-08 14:04:23 +00003497 ":v8_libbase",
Ben Murdoch13e2dad2016-09-16 13:49:30 +01003498 ":v8_libplatform",
Ben Murdoch13e2dad2016-09-16 13:49:30 +01003499 "//build/win:default_exe_manifest",
3500 ]
Ben Murdoch13e2dad2016-09-16 13:49:30 +01003501}
3502
3503if (want_v8_shell) {
3504 v8_executable("v8_shell") {
Ben Murdoch014dc512016-03-22 12:00:34 +00003505 sources = [
Ben Murdochbcf72ee2016-08-08 18:44:38 +01003506 "samples/shell.cc",
Ben Murdoch014dc512016-03-22 12:00:34 +00003507 ]
3508
Ben Murdoch13e2dad2016-09-16 13:49:30 +01003509 configs = [
Ben Murdoch014dc512016-03-22 12:00:34 +00003510 # Note: don't use :internal_config here because this target will get
3511 # the :external_config applied to it by virtue of depending on :v8, and
3512 # you can't have both applied to the same target.
3513 ":internal_config_base",
Ben Murdoch014dc512016-03-22 12:00:34 +00003514 ]
3515
3516 deps = [
Ben Murdoch014dc512016-03-22 12:00:34 +00003517 ":v8",
Ben Murdochc8c1d9e2017-03-08 14:04:23 +00003518 ":v8_libbase",
Ben Murdoch014dc512016-03-22 12:00:34 +00003519 ":v8_libplatform",
Ben Murdochbcf72ee2016-08-08 18:44:38 +01003520 "//build/win:default_exe_manifest",
Ben Murdoch014dc512016-03-22 12:00:34 +00003521 ]
Ben Murdoch014dc512016-03-22 12:00:34 +00003522 }
Ben Murdochb8a8cc12014-11-26 15:28:44 +00003523}
Ben Murdoch109988c2016-05-18 11:27:45 +01003524
Ben Murdoch13e2dad2016-09-16 13:49:30 +01003525template("v8_fuzzer") {
3526 name = target_name
3527 forward_variables_from(invoker, "*")
3528 v8_executable("v8_simple_" + name) {
3529 deps = [
3530 ":" + name,
Ben Murdoch13e2dad2016-09-16 13:49:30 +01003531 "//build/win:default_exe_manifest",
3532 ]
3533
Ben Murdoch62ed6312017-06-06 11:06:27 +01003534 sources = [
3535 "test/fuzzer/fuzzer.cc",
3536 ]
3537
Ben Murdoch13e2dad2016-09-16 13:49:30 +01003538 configs = [ ":external_config" ]
3539 }
3540}
3541
Ben Murdochbcf72ee2016-08-08 18:44:38 +01003542v8_source_set("json_fuzzer") {
Ben Murdoch109988c2016-05-18 11:27:45 +01003543 sources = [
3544 "test/fuzzer/json.cc",
3545 ]
3546
3547 deps = [
3548 ":fuzzer_support",
3549 ]
3550
Ben Murdochf3b273f2017-01-17 12:11:28 +00003551 configs = [
3552 ":external_config",
3553 ":internal_config_base",
3554 ]
Ben Murdoch109988c2016-05-18 11:27:45 +01003555}
3556
Ben Murdoch13e2dad2016-09-16 13:49:30 +01003557v8_fuzzer("json_fuzzer") {
3558}
3559
Rubin Xu2894c6a2019-02-07 16:01:35 +00003560v8_source_set("multi_return_fuzzer") {
3561 sources = [
3562 "test/fuzzer/multi-return.cc",
3563 ]
3564
3565 deps = [
3566 ":fuzzer_support",
3567 ]
3568
3569 configs = [
3570 ":external_config",
3571 ":internal_config_base",
3572 ]
3573}
3574
3575v8_fuzzer("multi_return_fuzzer") {
3576}
3577
Ben Murdochbcf72ee2016-08-08 18:44:38 +01003578v8_source_set("parser_fuzzer") {
Ben Murdoch109988c2016-05-18 11:27:45 +01003579 sources = [
3580 "test/fuzzer/parser.cc",
3581 ]
3582
3583 deps = [
Ben Murdochc8c1d9e2017-03-08 14:04:23 +00003584 ":fuzzer_support",
Ben Murdoch109988c2016-05-18 11:27:45 +01003585 ]
3586
Ben Murdochf3b273f2017-01-17 12:11:28 +00003587 configs = [
3588 ":external_config",
3589 ":internal_config_base",
3590 ]
Ben Murdoch109988c2016-05-18 11:27:45 +01003591}
3592
Ben Murdoch13e2dad2016-09-16 13:49:30 +01003593v8_fuzzer("parser_fuzzer") {
3594}
3595
Rubin Xu2894c6a2019-02-07 16:01:35 +00003596v8_source_set("regexp_builtins_fuzzer") {
3597 sources = [
3598 "test/fuzzer/regexp-builtins.cc",
3599 "test/fuzzer/regexp_builtins/mjsunit.js.h",
3600 ]
3601
3602 deps = [
3603 ":fuzzer_support",
3604 ]
3605
3606 configs = [
3607 ":external_config",
3608 ":internal_config_base",
3609 ]
3610}
3611
3612v8_fuzzer("regexp_builtins_fuzzer") {
3613}
3614
Ben Murdochbcf72ee2016-08-08 18:44:38 +01003615v8_source_set("regexp_fuzzer") {
Ben Murdoch109988c2016-05-18 11:27:45 +01003616 sources = [
3617 "test/fuzzer/regexp.cc",
3618 ]
3619
3620 deps = [
3621 ":fuzzer_support",
3622 ]
3623
Ben Murdochf3b273f2017-01-17 12:11:28 +00003624 configs = [
3625 ":external_config",
3626 ":internal_config_base",
3627 ]
Ben Murdoch3b9bc312016-06-02 14:46:10 +01003628}
3629
Ben Murdoch13e2dad2016-09-16 13:49:30 +01003630v8_fuzzer("regexp_fuzzer") {
3631}
3632
Ben Murdochf3b273f2017-01-17 12:11:28 +00003633v8_source_set("wasm_module_runner") {
3634 sources = [
3635 "test/common/wasm/wasm-module-runner.cc",
3636 "test/common/wasm/wasm-module-runner.h",
3637 ]
3638
Rubin Xu2894c6a2019-02-07 16:01:35 +00003639 deps = [
3640 ":torque_generated_core",
Ben Murdochf3b273f2017-01-17 12:11:28 +00003641 ]
Ben Murdochf3b273f2017-01-17 12:11:28 +00003642
Rubin Xu2894c6a2019-02-07 16:01:35 +00003643 if (v8_enable_i18n_support) {
3644 public_deps = [
3645 "//third_party/icu",
3646 ]
3647 }
Ben Murdochf3b273f2017-01-17 12:11:28 +00003648
3649 configs = [
3650 ":external_config",
3651 ":internal_config_base",
3652 ]
3653}
3654
Ben Murdochbcf72ee2016-08-08 18:44:38 +01003655v8_source_set("wasm_fuzzer") {
Ben Murdoch3b9bc312016-06-02 14:46:10 +01003656 sources = [
3657 "test/fuzzer/wasm.cc",
3658 ]
3659
3660 deps = [
3661 ":fuzzer_support",
Rubin Xu2894c6a2019-02-07 16:01:35 +00003662 ":lib_wasm_fuzzer_common",
Ben Murdochf3b273f2017-01-17 12:11:28 +00003663 ":wasm_module_runner",
Ben Murdoch3b9bc312016-06-02 14:46:10 +01003664 ]
3665
Ben Murdochf3b273f2017-01-17 12:11:28 +00003666 configs = [
3667 ":external_config",
3668 ":internal_config_base",
3669 ]
Ben Murdoch3b9bc312016-06-02 14:46:10 +01003670}
3671
Ben Murdoch13e2dad2016-09-16 13:49:30 +01003672v8_fuzzer("wasm_fuzzer") {
3673}
3674
Rubin Xu2894c6a2019-02-07 16:01:35 +00003675v8_source_set("wasm_async_fuzzer") {
Ben Murdoch3b9bc312016-06-02 14:46:10 +01003676 sources = [
Rubin Xu2894c6a2019-02-07 16:01:35 +00003677 "test/fuzzer/wasm-async.cc",
Ben Murdoch3b9bc312016-06-02 14:46:10 +01003678 ]
3679
3680 deps = [
3681 ":fuzzer_support",
Rubin Xu2894c6a2019-02-07 16:01:35 +00003682 ":lib_wasm_fuzzer_common",
Ben Murdochf3b273f2017-01-17 12:11:28 +00003683 ":wasm_module_runner",
Ben Murdoch3b9bc312016-06-02 14:46:10 +01003684 ]
3685
Ben Murdochf3b273f2017-01-17 12:11:28 +00003686 configs = [
3687 ":external_config",
3688 ":internal_config_base",
3689 ]
Ben Murdoch109988c2016-05-18 11:27:45 +01003690}
Ben Murdoch13e2dad2016-09-16 13:49:30 +01003691
Rubin Xu2894c6a2019-02-07 16:01:35 +00003692v8_fuzzer("wasm_async_fuzzer") {
Ben Murdoch13e2dad2016-09-16 13:49:30 +01003693}
Ben Murdochf3b273f2017-01-17 12:11:28 +00003694
3695v8_source_set("wasm_code_fuzzer") {
3696 sources = [
Rubin Xu2894c6a2019-02-07 16:01:35 +00003697 "test/common/wasm/test-signatures.h",
Ben Murdochf3b273f2017-01-17 12:11:28 +00003698 "test/fuzzer/wasm-code.cc",
3699 ]
3700
3701 deps = [
3702 ":fuzzer_support",
Rubin Xu2894c6a2019-02-07 16:01:35 +00003703 ":lib_wasm_fuzzer_common",
Ben Murdochf3b273f2017-01-17 12:11:28 +00003704 ":wasm_module_runner",
Ben Murdochf3b273f2017-01-17 12:11:28 +00003705 ]
3706
3707 configs = [
3708 ":external_config",
3709 ":internal_config_base",
3710 ]
3711}
3712
3713v8_fuzzer("wasm_code_fuzzer") {
3714}
3715
Rubin Xu2894c6a2019-02-07 16:01:35 +00003716v8_source_set("lib_wasm_fuzzer_common") {
Ben Murdochc8c1d9e2017-03-08 14:04:23 +00003717 sources = [
Rubin Xu2894c6a2019-02-07 16:01:35 +00003718 "test/fuzzer/wasm-fuzzer-common.cc",
3719 "test/fuzzer/wasm-fuzzer-common.h",
Ben Murdochc8c1d9e2017-03-08 14:04:23 +00003720 ]
3721
3722 deps = [
Rubin Xu2894c6a2019-02-07 16:01:35 +00003723 ":torque_generated_core",
Ben Murdochc8c1d9e2017-03-08 14:04:23 +00003724 ]
3725
Rubin Xu2894c6a2019-02-07 16:01:35 +00003726 if (v8_enable_i18n_support) {
3727 public_deps = [
3728 "//third_party/icu",
3729 ]
3730 }
Ben Murdochf3b273f2017-01-17 12:11:28 +00003731
3732 configs = [
3733 ":external_config",
3734 ":internal_config_base",
3735 ]
3736}
3737
3738v8_source_set("wasm_types_section_fuzzer") {
3739 sources = [
3740 "test/fuzzer/wasm-types-section.cc",
3741 ]
3742
3743 deps = [
3744 ":fuzzer_support",
Rubin Xu2894c6a2019-02-07 16:01:35 +00003745 ":lib_wasm_fuzzer_common",
Ben Murdochf3b273f2017-01-17 12:11:28 +00003746 ":wasm_module_runner",
3747 ]
3748
3749 configs = [
3750 ":external_config",
3751 ":internal_config_base",
3752 ]
3753}
3754
3755v8_fuzzer("wasm_types_section_fuzzer") {
3756}
3757
3758v8_source_set("wasm_names_section_fuzzer") {
3759 sources = [
3760 "test/fuzzer/wasm-names-section.cc",
3761 ]
3762
3763 deps = [
3764 ":fuzzer_support",
Rubin Xu2894c6a2019-02-07 16:01:35 +00003765 ":lib_wasm_fuzzer_common",
Ben Murdochf3b273f2017-01-17 12:11:28 +00003766 ":wasm_module_runner",
3767 ]
3768
3769 configs = [
3770 ":external_config",
3771 ":internal_config_base",
3772 ]
3773}
3774
3775v8_fuzzer("wasm_names_section_fuzzer") {
3776}
3777
3778v8_source_set("wasm_globals_section_fuzzer") {
3779 sources = [
3780 "test/fuzzer/wasm-globals-section.cc",
3781 ]
3782
3783 deps = [
3784 ":fuzzer_support",
Rubin Xu2894c6a2019-02-07 16:01:35 +00003785 ":lib_wasm_fuzzer_common",
Ben Murdochf3b273f2017-01-17 12:11:28 +00003786 ":wasm_module_runner",
3787 ]
3788
3789 configs = [
3790 ":external_config",
3791 ":internal_config_base",
3792 ]
3793}
3794
3795v8_fuzzer("wasm_globals_section_fuzzer") {
3796}
3797
3798v8_source_set("wasm_imports_section_fuzzer") {
3799 sources = [
3800 "test/fuzzer/wasm-imports-section.cc",
3801 ]
3802
3803 deps = [
3804 ":fuzzer_support",
Rubin Xu2894c6a2019-02-07 16:01:35 +00003805 ":lib_wasm_fuzzer_common",
Ben Murdochf3b273f2017-01-17 12:11:28 +00003806 ":wasm_module_runner",
3807 ]
3808
3809 configs = [
3810 ":external_config",
3811 ":internal_config_base",
3812 ]
3813}
3814
3815v8_fuzzer("wasm_imports_section_fuzzer") {
3816}
3817
3818v8_source_set("wasm_function_sigs_section_fuzzer") {
3819 sources = [
3820 "test/fuzzer/wasm-function-sigs-section.cc",
3821 ]
3822
3823 deps = [
3824 ":fuzzer_support",
Rubin Xu2894c6a2019-02-07 16:01:35 +00003825 ":lib_wasm_fuzzer_common",
Ben Murdochf3b273f2017-01-17 12:11:28 +00003826 ":wasm_module_runner",
3827 ]
3828
3829 configs = [
3830 ":external_config",
3831 ":internal_config_base",
3832 ]
3833}
3834
3835v8_fuzzer("wasm_function_sigs_section_fuzzer") {
3836}
3837
3838v8_source_set("wasm_memory_section_fuzzer") {
3839 sources = [
3840 "test/fuzzer/wasm-memory-section.cc",
3841 ]
3842
3843 deps = [
3844 ":fuzzer_support",
Rubin Xu2894c6a2019-02-07 16:01:35 +00003845 ":lib_wasm_fuzzer_common",
Ben Murdochf3b273f2017-01-17 12:11:28 +00003846 ":wasm_module_runner",
3847 ]
3848
3849 configs = [
3850 ":external_config",
3851 ":internal_config_base",
3852 ]
3853}
3854
3855v8_fuzzer("wasm_memory_section_fuzzer") {
3856}
3857
3858v8_source_set("wasm_data_section_fuzzer") {
3859 sources = [
3860 "test/fuzzer/wasm-data-section.cc",
3861 ]
3862
3863 deps = [
3864 ":fuzzer_support",
Rubin Xu2894c6a2019-02-07 16:01:35 +00003865 ":lib_wasm_fuzzer_common",
Ben Murdochf3b273f2017-01-17 12:11:28 +00003866 ":wasm_module_runner",
3867 ]
3868
3869 configs = [
3870 ":external_config",
3871 ":internal_config_base",
3872 ]
3873}
3874
3875v8_fuzzer("wasm_data_section_fuzzer") {
3876}
Ben Murdoch62ed6312017-06-06 11:06:27 +01003877
3878v8_source_set("wasm_compile_fuzzer") {
3879 sources = [
Rubin Xu2894c6a2019-02-07 16:01:35 +00003880 "test/common/wasm/test-signatures.h",
Ben Murdoch62ed6312017-06-06 11:06:27 +01003881 "test/fuzzer/wasm-compile.cc",
3882 ]
3883
3884 deps = [
3885 ":fuzzer_support",
Rubin Xu2894c6a2019-02-07 16:01:35 +00003886 ":lib_wasm_fuzzer_common",
Ben Murdoch62ed6312017-06-06 11:06:27 +01003887 ":wasm_module_runner",
Ben Murdoch62ed6312017-06-06 11:06:27 +01003888 ]
3889
3890 configs = [
3891 ":external_config",
3892 ":internal_config_base",
3893 ]
3894}
3895
3896v8_fuzzer("wasm_compile_fuzzer") {
3897}