blob: 3121dceccf753b3c1e0fe12e025a4ab194e9f457 [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 Murdoch4a90d5f2016-03-22 12:00:34 +00005import("//build/config/android/config.gni")
6import("//build/config/arm.gni")
Ben Murdoch61f157c2016-09-16 13:49:30 +01007import("//build/config/dcheck_always_on.gni")
Ben Murdoch4a90d5f2016-03-22 12:00:34 +00008import("//build/config/mips.gni")
9import("//build/config/sanitizers/sanitizers.gni")
10
11if (is_android) {
12 import("//build/config/android/rules.gni")
13}
14
Ben Murdoch61f157c2016-09-16 13:49:30 +010015import("gni/v8.gni")
16import("gni/isolate.gni")
Ben Murdoch4a90d5f2016-03-22 12:00:34 +000017import("//build_overrides/v8.gni")
18
19import("snapshot_toolchain.gni")
20
21declare_args() {
Ben Murdochc5610432016-08-08 18:44:38 +010022 # Sets -DVERIFY_HEAP.
23 v8_enable_verify_heap = false
24
25 # Enable compiler warnings when using V8_DEPRECATED apis.
26 v8_deprecation_warnings = false
27
28 # Enable compiler warnings when using V8_DEPRECATE_SOON apis.
29 v8_imminent_deprecation_warnings = false
30
31 # Sets -dENABLE_DISASSEMBLER.
32 v8_enable_disassembler = false
33
34 # Sets -dENABLE_GDB_JIT_INTERFACE.
35 v8_enable_gdbjit = false
36
37 # Sets -dENABLE_HANDLE_ZAPPING.
38 v8_enable_handle_zapping = is_debug
39
40 # Enable ECMAScript Internationalization API. Enabling this feature will
41 # add a dependency on the ICU library.
42 v8_enable_i18n_support = true
43
Ben Murdoch61f157c2016-09-16 13:49:30 +010044 # Enable slow dchecks.
45 v8_enable_slow_dchecks = false
46
Ben Murdochc5610432016-08-08 18:44:38 +010047 # Interpreted regexp engine exists as platform-independent alternative
48 # based where the regular expression is compiled to a bytecode.
49 v8_interpreted_regexp = false
50
51 # Sets -dOBJECT_PRINT.
52 v8_object_print = false
53
54 # With post mortem support enabled, metadata is embedded into libv8 that
55 # describes various parameters of the VM for use by debuggers. See
56 # tools/gen-postmortem-metadata.py for details.
57 v8_postmortem_support = false
58
Ben Murdochda12d292016-06-02 14:46:10 +010059 # Similar to vfp but on MIPS.
60 v8_can_use_fpu_instructions = true
61
62 # Similar to the ARM hard float ABI but on MIPS.
63 v8_use_mips_abi_hardfloat = true
Ben Murdoch4a90d5f2016-03-22 12:00:34 +000064}
Emily Bernierd0a1eb72015-03-24 16:35:39 -040065
Ben Murdochb8a8cc12014-11-26 15:28:44 +000066v8_random_seed = "314159265"
Ben Murdochc5610432016-08-08 18:44:38 +010067v8_toolset_for_shell = "host"
Ben Murdochb8a8cc12014-11-26 15:28:44 +000068
Ben Murdochb8a8cc12014-11-26 15:28:44 +000069###############################################################################
70# Configurations
71#
72config("internal_config") {
73 visibility = [ ":*" ] # Only targets in this file can depend on this.
74
75 include_dirs = [ "." ]
76
Ben Murdoch4a90d5f2016-03-22 12:00:34 +000077 if (is_component_build) {
Ben Murdochb8a8cc12014-11-26 15:28:44 +000078 defines = [
79 "V8_SHARED",
80 "BUILDING_V8_SHARED",
81 ]
82 }
83}
84
85config("internal_config_base") {
86 visibility = [ ":*" ] # Only targets in this file can depend on this.
87
88 include_dirs = [ "." ]
89}
90
Ben Murdochda12d292016-06-02 14:46:10 +010091# This config should be applied to code using the libplatform.
92config("libplatform_config") {
93 include_dirs = [ "include" ]
94}
95
Ben Murdoch61f157c2016-09-16 13:49:30 +010096# This config should be applied to code using the libsampler.
97config("libsampler_config") {
98 include_dirs = [ "include" ]
99}
100
Ben Murdochb8a8cc12014-11-26 15:28:44 +0000101# This config should only be applied to code using V8 and not any V8 code
102# itself.
103config("external_config") {
104 if (is_component_build) {
105 defines = [
106 "V8_SHARED",
107 "USING_V8_SHARED",
108 ]
109 }
110 include_dirs = [ "include" ]
Ben Murdochc5610432016-08-08 18:44:38 +0100111 libs = []
112 if (is_android && current_toolchain != host_toolchain) {
113 libs += [ "log" ]
114 }
Ben Murdochb8a8cc12014-11-26 15:28:44 +0000115}
116
Ben Murdoch4a90d5f2016-03-22 12:00:34 +0000117# This config should only be applied to code that needs to be explicitly
118# aware of whether we are using startup data or not.
119config("external_startup_data") {
120 if (v8_use_external_startup_data) {
121 defines = [ "V8_USE_EXTERNAL_STARTUP_DATA" ]
122 }
123}
124
Ben Murdochb8a8cc12014-11-26 15:28:44 +0000125config("features") {
126 visibility = [ ":*" ] # Only targets in this file can depend on this.
127
128 defines = []
129
Ben Murdochc5610432016-08-08 18:44:38 +0100130 if (v8_enable_disassembler) {
Ben Murdoch4a90d5f2016-03-22 12:00:34 +0000131 defines += [ "ENABLE_DISASSEMBLER" ]
Ben Murdochb8a8cc12014-11-26 15:28:44 +0000132 }
Ben Murdochc5610432016-08-08 18:44:38 +0100133 if (v8_enable_gdbjit) {
Ben Murdoch4a90d5f2016-03-22 12:00:34 +0000134 defines += [ "ENABLE_GDB_JIT_INTERFACE" ]
Ben Murdochb8a8cc12014-11-26 15:28:44 +0000135 }
Ben Murdochc5610432016-08-08 18:44:38 +0100136 if (v8_object_print) {
Ben Murdoch4a90d5f2016-03-22 12:00:34 +0000137 defines += [ "OBJECT_PRINT" ]
Ben Murdochb8a8cc12014-11-26 15:28:44 +0000138 }
Ben Murdochc5610432016-08-08 18:44:38 +0100139 if (v8_enable_verify_heap) {
Ben Murdoch4a90d5f2016-03-22 12:00:34 +0000140 defines += [ "VERIFY_HEAP" ]
Ben Murdochb8a8cc12014-11-26 15:28:44 +0000141 }
Ben Murdochc5610432016-08-08 18:44:38 +0100142 if (v8_interpreted_regexp) {
Ben Murdoch4a90d5f2016-03-22 12:00:34 +0000143 defines += [ "V8_INTERPRETED_REGEXP" ]
Ben Murdochb8a8cc12014-11-26 15:28:44 +0000144 }
Ben Murdochc5610432016-08-08 18:44:38 +0100145 if (v8_deprecation_warnings) {
Ben Murdoch4a90d5f2016-03-22 12:00:34 +0000146 defines += [ "V8_DEPRECATION_WARNINGS" ]
Ben Murdochb8a8cc12014-11-26 15:28:44 +0000147 }
Ben Murdochc5610432016-08-08 18:44:38 +0100148 if (v8_imminent_deprecation_warnings) {
149 defines += [ "V8_IMMINENT_DEPRECATION_WARNINGS" ]
150 }
151 if (v8_enable_i18n_support) {
Ben Murdoch4a90d5f2016-03-22 12:00:34 +0000152 defines += [ "V8_I18N_SUPPORT" ]
Ben Murdochb8a8cc12014-11-26 15:28:44 +0000153 }
Ben Murdochc5610432016-08-08 18:44:38 +0100154 if (v8_enable_handle_zapping) {
Ben Murdoch4a90d5f2016-03-22 12:00:34 +0000155 defines += [ "ENABLE_HANDLE_ZAPPING" ]
Ben Murdochb8a8cc12014-11-26 15:28:44 +0000156 }
Ben Murdochc5610432016-08-08 18:44:38 +0100157 if (v8_use_external_startup_data) {
Ben Murdoch4a90d5f2016-03-22 12:00:34 +0000158 defines += [ "V8_USE_EXTERNAL_STARTUP_DATA" ]
Ben Murdochb8a8cc12014-11-26 15:28:44 +0000159 }
160}
161
162config("toolchain") {
163 visibility = [ ":*" ] # Only targets in this file can depend on this.
164
165 defines = []
166 cflags = []
Ben Murdoch61f157c2016-09-16 13:49:30 +0100167 ldflags = []
Ben Murdochb8a8cc12014-11-26 15:28:44 +0000168
Ben Murdoch61f157c2016-09-16 13:49:30 +0100169 if (v8_target_cpu == "arm") {
Ben Murdoch4a90d5f2016-03-22 12:00:34 +0000170 defines += [ "V8_TARGET_ARCH_ARM" ]
Ben Murdochda12d292016-06-02 14:46:10 +0100171 if (arm_version == 7) {
172 defines += [ "CAN_USE_ARMV7_INSTRUCTIONS" ]
173 }
174 if (arm_fpu == "vfpv3-d16") {
175 defines += [ "CAN_USE_VFP3_INSTRUCTIONS" ]
176 } else if (arm_fpu == "vfpv3") {
Ben Murdoch4a90d5f2016-03-22 12:00:34 +0000177 defines += [
Ben Murdoch4a90d5f2016-03-22 12:00:34 +0000178 "CAN_USE_VFP3_INSTRUCTIONS",
179 "CAN_USE_VFP32DREGS",
Ben Murdochda12d292016-06-02 14:46:10 +0100180 ]
181 } else if (arm_fpu == "neon") {
182 defines += [
183 "CAN_USE_VFP3_INSTRUCTIONS",
184 "CAN_USE_VFP32DREGS",
185 "CAN_USE_NEON",
Ben Murdoch4a90d5f2016-03-22 12:00:34 +0000186 ]
187 }
Ben Murdochc5610432016-08-08 18:44:38 +0100188
Ben Murdoch4a90d5f2016-03-22 12:00:34 +0000189 # TODO(jochen): Add support for arm_test_noprobe.
Ben Murdochda12d292016-06-02 14:46:10 +0100190
191 if (current_cpu != "arm") {
192 # These defines ares used for the ARM simulator.
193 if (arm_float_abi == "hard") {
194 defines += [ "USE_EABI_HARDFLOAT=1" ]
195 } else if (arm_float_abi == "softfp") {
196 defines += [ "USE_EABI_HARDFLOAT=0" ]
197 }
198 }
Ben Murdoch4a90d5f2016-03-22 12:00:34 +0000199 }
Ben Murdoch61f157c2016-09-16 13:49:30 +0100200 if (v8_target_cpu == "arm64") {
Ben Murdoch4a90d5f2016-03-22 12:00:34 +0000201 defines += [ "V8_TARGET_ARCH_ARM64" ]
202 }
Ben Murdochc5610432016-08-08 18:44:38 +0100203
Ben Murdochda12d292016-06-02 14:46:10 +0100204 # TODO(jochen): Add support for mips.
Ben Murdoch61f157c2016-09-16 13:49:30 +0100205 if (v8_target_cpu == "mipsel") {
Ben Murdoch4a90d5f2016-03-22 12:00:34 +0000206 defines += [ "V8_TARGET_ARCH_MIPS" ]
Ben Murdochda12d292016-06-02 14:46:10 +0100207 if (v8_can_use_fpu_instructions) {
208 defines += [ "CAN_USE_FPU_INSTRUCTIONS" ]
209 }
210 if (v8_use_mips_abi_hardfloat) {
211 defines += [
212 "__mips_hard_float=1",
213 "CAN_USE_FPU_INSTRUCTIONS",
214 ]
215 } else {
216 defines += [ "__mips_soft_float=1" ]
217 }
218 if (mips_arch_variant == "r6") {
219 defines += [
220 "_MIPS_ARCH_MIPS32R6",
221 "FPU_MODE_FP64",
222 ]
223 } else if (mips_arch_variant == "r2") {
224 defines += [ "_MIPS_ARCH_MIPS32R2" ]
225 if (mips_fpu_mode == "fp64") {
226 defines += [ "FPU_MODE_FP64" ]
227 } else if (mips_fpu_mode == "fpxx") {
228 defines += [ "FPU_MODE_FPXX" ]
229 } else if (mips_fpu_mode == "fp32") {
230 defines += [ "FPU_MODE_FP32" ]
231 }
232 } else if (mips_arch_variant == "r1") {
233 defines += [ "FPU_MODE_FP32" ]
234 }
Ben Murdochc5610432016-08-08 18:44:38 +0100235
Ben Murdochda12d292016-06-02 14:46:10 +0100236 # TODO(jochen): Add support for mips_arch_variant rx and loongson.
Ben Murdoch4a90d5f2016-03-22 12:00:34 +0000237 }
Ben Murdochc5610432016-08-08 18:44:38 +0100238
Ben Murdochda12d292016-06-02 14:46:10 +0100239 # TODO(jochen): Add support for mips64.
Ben Murdoch61f157c2016-09-16 13:49:30 +0100240 if (v8_target_cpu == "mips64el") {
Ben Murdoch4a90d5f2016-03-22 12:00:34 +0000241 defines += [ "V8_TARGET_ARCH_MIPS64" ]
Ben Murdochda12d292016-06-02 14:46:10 +0100242 if (v8_can_use_fpu_instructions) {
243 defines += [ "CAN_USE_FPU_INSTRUCTIONS" ]
244 }
Ben Murdochc5610432016-08-08 18:44:38 +0100245
Ben Murdochda12d292016-06-02 14:46:10 +0100246 # TODO(jochen): Add support for big endian host byteorder.
247 defines += [ "V8_TARGET_ARCH_MIPS64_LE" ]
248 if (v8_use_mips_abi_hardfloat) {
249 defines += [
250 "__mips_hard_float=1",
251 "CAN_USE_FPU_INSTRUCTIONS",
252 ]
253 } else {
254 defines += [ "__mips_soft_float=1" ]
255 }
256 if (mips_arch_variant == "r6") {
257 defines += [ "_MIPS_ARCH_MIPS64R6" ]
258 } else if (mips_arch_variant == "r2") {
259 defines += [ "_MIPS_ARCH_MIPS64R2" ]
260 }
Ben Murdoch4a90d5f2016-03-22 12:00:34 +0000261 }
Ben Murdoch61f157c2016-09-16 13:49:30 +0100262 if (v8_target_cpu == "s390" || v8_target_cpu == "s390x") {
Ben Murdoch4a90d5f2016-03-22 12:00:34 +0000263 defines += [ "V8_TARGET_ARCH_S390" ]
Ben Murdoch61f157c2016-09-16 13:49:30 +0100264 if (v8_target_cpu == "s390x") {
265 defines += [ "V8_TARGET_ARCH_S390X" ]
266 }
267 if (host_cpu == "x64" || host_cpu == "x86") {
268 defines += [ "V8_TARGET_ARCH_S390_LE_SIM" ]
269 }
Ben Murdochc5610432016-08-08 18:44:38 +0100270 }
Ben Murdoch61f157c2016-09-16 13:49:30 +0100271 if (v8_target_cpu == "x86") {
Ben Murdoch4a90d5f2016-03-22 12:00:34 +0000272 defines += [ "V8_TARGET_ARCH_IA32" ]
Ben Murdoch61f157c2016-09-16 13:49:30 +0100273 if (is_win) {
274 # Ensure no surprising artifacts from 80bit double math with x86.
275 cflags += [ "/arch:SSE2" ]
276 }
Ben Murdochb8a8cc12014-11-26 15:28:44 +0000277 }
Ben Murdoch61f157c2016-09-16 13:49:30 +0100278 if (v8_target_cpu == "x64") {
Ben Murdoch4a90d5f2016-03-22 12:00:34 +0000279 defines += [ "V8_TARGET_ARCH_X64" ]
Ben Murdoch61f157c2016-09-16 13:49:30 +0100280 if (is_win) {
281 # Increase the initial stack size. The default is 1MB, this is 2MB. This
282 # applies only to executables and shared libraries produced by V8 since
283 # ldflags are not pushed to dependants.
284 ldflags += [ "/STACK:2097152" ]
285 }
Ben Murdochb8a8cc12014-11-26 15:28:44 +0000286 }
Ben Murdochc5610432016-08-08 18:44:38 +0100287
Ben Murdoch61f157c2016-09-16 13:49:30 +0100288 # TODO(jochen): Support v8_enable_prof on Windows.
Ben Murdochb8a8cc12014-11-26 15:28:44 +0000289 # TODO(jochen): Add support for compiling with simulators.
290
291 if (is_debug) {
292 # TODO(jochen): Add support for different debug optimization levels.
293 defines += [
294 "ENABLE_DISASSEMBLER",
295 "V8_ENABLE_CHECKS",
296 "OBJECT_PRINT",
297 "VERIFY_HEAP",
298 "DEBUG",
Ben Murdochc5610432016-08-08 18:44:38 +0100299 "TRACE_MAPS",
Ben Murdochb8a8cc12014-11-26 15:28:44 +0000300 ]
Ben Murdoch61f157c2016-09-16 13:49:30 +0100301 if (v8_enable_slow_dchecks) {
Ben Murdochc5610432016-08-08 18:44:38 +0100302 defines += [ "ENABLE_SLOW_DCHECKS" ]
303 }
Ben Murdoch61f157c2016-09-16 13:49:30 +0100304 } else if (dcheck_always_on) {
305 defines += [ "DEBUG" ]
Ben Murdochb8a8cc12014-11-26 15:28:44 +0000306 }
307}
308
309###############################################################################
310# Actions
311#
312
313action("js2c") {
314 visibility = [ ":*" ] # Only targets in this file can depend on this.
315
316 script = "tools/js2c.py"
317
318 # The script depends on this other script, this rule causes a rebuild if it
319 # changes.
Ben Murdochda12d292016-06-02 14:46:10 +0100320 inputs = [
321 "tools/jsmin.py",
322 ]
Ben Murdochb8a8cc12014-11-26 15:28:44 +0000323
Ben Murdochda12d292016-06-02 14:46:10 +0100324 # NOSORT
Ben Murdochb8a8cc12014-11-26 15:28:44 +0000325 sources = [
Ben Murdoch4a90d5f2016-03-22 12:00:34 +0000326 "src/js/macros.py",
327 "src/messages.h",
328 "src/js/prologue.js",
329 "src/js/runtime.js",
330 "src/js/v8natives.js",
331 "src/js/symbol.js",
332 "src/js/array.js",
333 "src/js/string.js",
Ben Murdoch4a90d5f2016-03-22 12:00:34 +0000334 "src/js/math.js",
Emily Bernierd0a1eb72015-03-24 16:35:39 -0400335 "src/third_party/fdlibm/fdlibm.js",
Ben Murdoch4a90d5f2016-03-22 12:00:34 +0000336 "src/js/regexp.js",
337 "src/js/arraybuffer.js",
338 "src/js/typedarray.js",
339 "src/js/iterator-prototype.js",
Ben Murdoch4a90d5f2016-03-22 12:00:34 +0000340 "src/js/collection.js",
341 "src/js/weak-collection.js",
342 "src/js/collection-iterator.js",
343 "src/js/promise.js",
344 "src/js/messages.js",
Ben Murdoch4a90d5f2016-03-22 12:00:34 +0000345 "src/js/array-iterator.js",
346 "src/js/string-iterator.js",
347 "src/js/templates.js",
348 "src/js/spread.js",
Ben Murdochda12d292016-06-02 14:46:10 +0100349 "src/js/proxy.js",
Ben Murdoch4a90d5f2016-03-22 12:00:34 +0000350 "src/debug/mirrors.js",
351 "src/debug/debug.js",
352 "src/debug/liveedit.js",
Ben Murdochb8a8cc12014-11-26 15:28:44 +0000353 ]
354
355 outputs = [
Ben Murdoch4a90d5f2016-03-22 12:00:34 +0000356 "$target_gen_dir/libraries.cc",
Ben Murdochb8a8cc12014-11-26 15:28:44 +0000357 ]
358
359 if (v8_enable_i18n_support) {
Ben Murdoch4a90d5f2016-03-22 12:00:34 +0000360 sources += [ "src/js/i18n.js" ]
Ben Murdochb8a8cc12014-11-26 15:28:44 +0000361 }
362
363 args = [
Ben Murdoch4a90d5f2016-03-22 12:00:34 +0000364 rebase_path("$target_gen_dir/libraries.cc", root_build_dir),
365 "CORE",
366 ] + rebase_path(sources, root_build_dir)
Ben Murdochb8a8cc12014-11-26 15:28:44 +0000367
368 if (v8_use_external_startup_data) {
369 outputs += [ "$target_gen_dir/libraries.bin" ]
370 args += [
371 "--startup_blob",
Ben Murdoch4a90d5f2016-03-22 12:00:34 +0000372 rebase_path("$target_gen_dir/libraries.bin", root_build_dir),
Ben Murdochb8a8cc12014-11-26 15:28:44 +0000373 ]
374 }
375}
376
377action("js2c_experimental") {
378 visibility = [ ":*" ] # Only targets in this file can depend on this.
379
380 script = "tools/js2c.py"
381
382 # The script depends on this other script, this rule causes a rebuild if it
383 # changes.
Ben Murdochda12d292016-06-02 14:46:10 +0100384 inputs = [
385 "tools/jsmin.py",
386 ]
Ben Murdochb8a8cc12014-11-26 15:28:44 +0000387
Ben Murdochda12d292016-06-02 14:46:10 +0100388 # NOSORT
Ben Murdochb8a8cc12014-11-26 15:28:44 +0000389 sources = [
Ben Murdoch4a90d5f2016-03-22 12:00:34 +0000390 "src/js/macros.py",
391 "src/messages.h",
Ben Murdochc5610432016-08-08 18:44:38 +0100392 "src/js/harmony-async-await.js",
Ben Murdoch4a90d5f2016-03-22 12:00:34 +0000393 "src/js/harmony-atomics.js",
Ben Murdoch4a90d5f2016-03-22 12:00:34 +0000394 "src/js/harmony-sharedarraybuffer.js",
395 "src/js/harmony-simd.js",
Ben Murdochda12d292016-06-02 14:46:10 +0100396 "src/js/harmony-string-padding.js",
397 "src/js/promise-extra.js",
Ben Murdochb8a8cc12014-11-26 15:28:44 +0000398 ]
399
400 outputs = [
Ben Murdoch4a90d5f2016-03-22 12:00:34 +0000401 "$target_gen_dir/experimental-libraries.cc",
Ben Murdochb8a8cc12014-11-26 15:28:44 +0000402 ]
403
Ben Murdochc5610432016-08-08 18:44:38 +0100404 if (v8_enable_i18n_support) {
405 sources += [
406 "src/js/icu-case-mapping.js",
407 "src/js/intl-extra.js",
408 ]
409 }
410
Ben Murdochb8a8cc12014-11-26 15:28:44 +0000411 args = [
Ben Murdoch4a90d5f2016-03-22 12:00:34 +0000412 rebase_path("$target_gen_dir/experimental-libraries.cc",
413 root_build_dir),
414 "EXPERIMENTAL",
415 ] + rebase_path(sources, root_build_dir)
Ben Murdochb8a8cc12014-11-26 15:28:44 +0000416
417 if (v8_use_external_startup_data) {
418 outputs += [ "$target_gen_dir/libraries_experimental.bin" ]
419 args += [
420 "--startup_blob",
Ben Murdoch4a90d5f2016-03-22 12:00:34 +0000421 rebase_path("$target_gen_dir/libraries_experimental.bin", root_build_dir),
Ben Murdochb8a8cc12014-11-26 15:28:44 +0000422 ]
423 }
424}
425
Ben Murdoch4a90d5f2016-03-22 12:00:34 +0000426action("js2c_extras") {
427 visibility = [ ":*" ] # Only targets in this file can depend on this.
428
429 script = "tools/js2c.py"
430
431 # The script depends on this other script, this rule causes a rebuild if it
432 # changes.
Ben Murdochda12d292016-06-02 14:46:10 +0100433 inputs = [
434 "tools/jsmin.py",
435 ]
Ben Murdoch4a90d5f2016-03-22 12:00:34 +0000436
437 sources = v8_extra_library_files
438
439 outputs = [
440 "$target_gen_dir/extras-libraries.cc",
441 ]
442
443 args = [
Ben Murdochda12d292016-06-02 14:46:10 +0100444 rebase_path("$target_gen_dir/extras-libraries.cc", root_build_dir),
Ben Murdoch4a90d5f2016-03-22 12:00:34 +0000445 "EXTRAS",
446 ] + rebase_path(sources, root_build_dir)
447
448 if (v8_use_external_startup_data) {
449 outputs += [ "$target_gen_dir/libraries_extras.bin" ]
450 args += [
451 "--startup_blob",
452 rebase_path("$target_gen_dir/libraries_extras.bin", root_build_dir),
453 ]
454 }
455}
456
457action("js2c_experimental_extras") {
458 visibility = [ ":*" ] # Only targets in this file can depend on this.
459
460 script = "tools/js2c.py"
461
462 # The script depends on this other script, this rule causes a rebuild if it
463 # changes.
Ben Murdochda12d292016-06-02 14:46:10 +0100464 inputs = [
465 "tools/jsmin.py",
466 ]
Ben Murdoch4a90d5f2016-03-22 12:00:34 +0000467
468 sources = v8_experimental_extra_library_files
469
470 outputs = [
471 "$target_gen_dir/experimental-extras-libraries.cc",
472 ]
473
474 args = [
475 rebase_path("$target_gen_dir/experimental-extras-libraries.cc",
476 root_build_dir),
477 "EXPERIMENTAL_EXTRAS",
478 ] + rebase_path(sources, root_build_dir)
479
480 if (v8_use_external_startup_data) {
481 outputs += [ "$target_gen_dir/libraries_experimental_extras.bin" ]
482 args += [
483 "--startup_blob",
Ben Murdochda12d292016-06-02 14:46:10 +0100484 rebase_path("$target_gen_dir/libraries_experimental_extras.bin",
485 root_build_dir),
Ben Murdoch4a90d5f2016-03-22 12:00:34 +0000486 ]
487 }
488}
489
490action("d8_js2c") {
491 visibility = [ ":*" ] # Only targets in this file can depend on this.
492
493 script = "tools/js2c.py"
494
Ben Murdochda12d292016-06-02 14:46:10 +0100495 # NOSORT
Ben Murdoch4a90d5f2016-03-22 12:00:34 +0000496 inputs = [
497 "src/d8.js",
498 "src/js/macros.py",
499 ]
500
501 outputs = [
502 "$target_gen_dir/d8-js.cc",
503 ]
504
505 args = rebase_path(outputs, root_build_dir) + [ "D8" ] +
506 rebase_path(inputs, root_build_dir)
507}
508
509if (is_android) {
510 android_assets("v8_external_startup_data_assets") {
511 if (v8_use_external_startup_data) {
512 deps = [
513 "//v8",
514 ]
Ben Murdoch61f157c2016-09-16 13:49:30 +0100515 sources = [
516 "$root_out_dir/natives_blob.bin",
517 ]
518 renaming_sources = [ "$root_out_dir/snapshot_blob.bin" ]
519 if (current_cpu == "arm" || current_cpu == "x86" ||
520 current_cpu == "mipsel") {
521 renaming_destinations = [ "snapshot_blob_32.bin" ]
522 } else {
523 renaming_destinations = [ "snapshot_blob_64.bin" ]
524 }
Ben Murdoch4a90d5f2016-03-22 12:00:34 +0000525 disable_compression = true
526 }
527 }
528}
529
Ben Murdochb8a8cc12014-11-26 15:28:44 +0000530if (v8_use_external_startup_data) {
531 action("natives_blob") {
532 visibility = [ ":*" ] # Only targets in this file can depend on this.
533
534 deps = [
535 ":js2c",
Ben Murdoch4a90d5f2016-03-22 12:00:34 +0000536 ":js2c_experimental",
Ben Murdoch4a90d5f2016-03-22 12:00:34 +0000537 ":js2c_experimental_extras",
Ben Murdochda12d292016-06-02 14:46:10 +0100538 ":js2c_extras",
Ben Murdochb8a8cc12014-11-26 15:28:44 +0000539 ]
540
Ben Murdochda12d292016-06-02 14:46:10 +0100541 # NOSORT
Ben Murdochb8a8cc12014-11-26 15:28:44 +0000542 sources = [
543 "$target_gen_dir/libraries.bin",
Ben Murdoch4a90d5f2016-03-22 12:00:34 +0000544 "$target_gen_dir/libraries_experimental.bin",
545 "$target_gen_dir/libraries_extras.bin",
546 "$target_gen_dir/libraries_experimental_extras.bin",
Ben Murdochb8a8cc12014-11-26 15:28:44 +0000547 ]
548
549 outputs = [
Ben Murdoch4a90d5f2016-03-22 12:00:34 +0000550 "$root_out_dir/natives_blob.bin",
Ben Murdochb8a8cc12014-11-26 15:28:44 +0000551 ]
552
553 script = "tools/concatenate-files.py"
554
555 args = rebase_path(sources + outputs, root_build_dir)
556 }
557}
558
559action("postmortem-metadata") {
Ben Murdoch4a90d5f2016-03-22 12:00:34 +0000560 # Only targets in this file and the top-level visibility target can
561 # depend on this.
562 visibility = [
563 ":*",
564 "//:gn_visibility",
565 ]
Ben Murdochb8a8cc12014-11-26 15:28:44 +0000566
567 script = "tools/gen-postmortem-metadata.py"
568
Ben Murdochda12d292016-06-02 14:46:10 +0100569 # NOSORT
Ben Murdochb8a8cc12014-11-26 15:28:44 +0000570 sources = [
571 "src/objects.h",
572 "src/objects-inl.h",
573 ]
574
575 outputs = [
Ben Murdoch4a90d5f2016-03-22 12:00:34 +0000576 "$target_gen_dir/debug-support.cc",
Ben Murdochb8a8cc12014-11-26 15:28:44 +0000577 ]
578
Ben Murdoch4a90d5f2016-03-22 12:00:34 +0000579 args = rebase_path(outputs, root_build_dir) +
580 rebase_path(sources, root_build_dir)
Ben Murdochb8a8cc12014-11-26 15:28:44 +0000581}
582
583action("run_mksnapshot") {
584 visibility = [ ":*" ] # Only targets in this file can depend on this.
585
Ben Murdoch4a90d5f2016-03-22 12:00:34 +0000586 deps = [
Ben Murdoch61f157c2016-09-16 13:49:30 +0100587 ":mksnapshot($v8_snapshot_toolchain)",
Ben Murdoch4a90d5f2016-03-22 12:00:34 +0000588 ]
Ben Murdochb8a8cc12014-11-26 15:28:44 +0000589
590 script = "tools/run.py"
591
592 outputs = [
Ben Murdoch4a90d5f2016-03-22 12:00:34 +0000593 "$target_gen_dir/snapshot.cc",
Ben Murdochb8a8cc12014-11-26 15:28:44 +0000594 ]
595
596 args = [
Ben Murdoch61f157c2016-09-16 13:49:30 +0100597 "./" + rebase_path(get_label_info(":mksnapshot($v8_snapshot_toolchain)",
Ben Murdochb8a8cc12014-11-26 15:28:44 +0000598 "root_out_dir") + "/mksnapshot",
599 root_build_dir),
Ben Murdoch4a90d5f2016-03-22 12:00:34 +0000600 "--startup_src",
601 rebase_path("$target_gen_dir/snapshot.cc", root_build_dir),
Ben Murdochb8a8cc12014-11-26 15:28:44 +0000602 ]
603
604 if (v8_random_seed != "0") {
Ben Murdoch4a90d5f2016-03-22 12:00:34 +0000605 args += [
606 "--random-seed",
607 v8_random_seed,
608 ]
Ben Murdochb8a8cc12014-11-26 15:28:44 +0000609 }
610
611 if (v8_use_external_startup_data) {
Emily Bernierd0a1eb72015-03-24 16:35:39 -0400612 outputs += [ "$root_out_dir/snapshot_blob.bin" ]
Ben Murdochb8a8cc12014-11-26 15:28:44 +0000613 args += [
614 "--startup_blob",
Ben Murdoch4a90d5f2016-03-22 12:00:34 +0000615 rebase_path("$root_out_dir/snapshot_blob.bin", root_build_dir),
Ben Murdochb8a8cc12014-11-26 15:28:44 +0000616 ]
617 }
618}
619
Ben Murdochb8a8cc12014-11-26 15:28:44 +0000620###############################################################################
621# Source Sets (aka static libraries)
622#
623
Ben Murdoch61f157c2016-09-16 13:49:30 +0100624source_set("v8_maybe_snapshot") {
625 if (v8_use_snapshot && v8_use_external_startup_data) {
626 public_deps = [
627 ":v8_external_snapshot",
628 ]
629 } else if (v8_use_snapshot) {
630 public_deps = [
631 ":v8_snapshot",
632 ]
633 } else {
634 assert(!v8_use_external_startup_data)
635 public_deps = [
636 ":v8_nosnapshot",
637 ]
638 }
639}
640
Ben Murdochc5610432016-08-08 18:44:38 +0100641v8_source_set("v8_nosnapshot") {
Ben Murdochb8a8cc12014-11-26 15:28:44 +0000642 visibility = [ ":*" ] # Only targets in this file can depend on this.
643
644 deps = [
645 ":js2c",
646 ":js2c_experimental",
Ben Murdoch4a90d5f2016-03-22 12:00:34 +0000647 ":js2c_experimental_extras",
Ben Murdochda12d292016-06-02 14:46:10 +0100648 ":js2c_extras",
Ben Murdochb8a8cc12014-11-26 15:28:44 +0000649 ":v8_base",
650 ]
651
652 sources = [
Ben Murdochda12d292016-06-02 14:46:10 +0100653 "$target_gen_dir/experimental-extras-libraries.cc",
Ben Murdochb8a8cc12014-11-26 15:28:44 +0000654 "$target_gen_dir/experimental-libraries.cc",
Ben Murdoch4a90d5f2016-03-22 12:00:34 +0000655 "$target_gen_dir/extras-libraries.cc",
Ben Murdochda12d292016-06-02 14:46:10 +0100656 "$target_gen_dir/libraries.cc",
Ben Murdoch4a90d5f2016-03-22 12:00:34 +0000657 "src/snapshot/snapshot-empty.cc",
Ben Murdochb8a8cc12014-11-26 15:28:44 +0000658 ]
659
Ben Murdochc5610432016-08-08 18:44:38 +0100660 configs = [ ":internal_config" ]
Ben Murdochb8a8cc12014-11-26 15:28:44 +0000661}
662
Ben Murdochc5610432016-08-08 18:44:38 +0100663v8_source_set("v8_snapshot") {
Ben Murdoch4a90d5f2016-03-22 12:00:34 +0000664 # Only targets in this file and the top-level visibility target can
665 # depend on this.
666 visibility = [
667 ":*",
668 "//:gn_visibility",
669 ]
Ben Murdochb8a8cc12014-11-26 15:28:44 +0000670
671 deps = [
672 ":js2c",
673 ":js2c_experimental",
Ben Murdoch4a90d5f2016-03-22 12:00:34 +0000674 ":js2c_experimental_extras",
Ben Murdochda12d292016-06-02 14:46:10 +0100675 ":js2c_extras",
Ben Murdochb8a8cc12014-11-26 15:28:44 +0000676 ":v8_base",
677 ]
Ben Murdoch4a90d5f2016-03-22 12:00:34 +0000678 public_deps = [
679 # This should be public so downstream targets can declare the snapshot
680 # output file as their inputs.
681 ":run_mksnapshot",
682 ]
Ben Murdochb8a8cc12014-11-26 15:28:44 +0000683
684 sources = [
Ben Murdochda12d292016-06-02 14:46:10 +0100685 "$target_gen_dir/experimental-extras-libraries.cc",
Ben Murdochb8a8cc12014-11-26 15:28:44 +0000686 "$target_gen_dir/experimental-libraries.cc",
Ben Murdoch4a90d5f2016-03-22 12:00:34 +0000687 "$target_gen_dir/extras-libraries.cc",
Ben Murdochda12d292016-06-02 14:46:10 +0100688 "$target_gen_dir/libraries.cc",
Ben Murdochb8a8cc12014-11-26 15:28:44 +0000689 "$target_gen_dir/snapshot.cc",
Ben Murdochb8a8cc12014-11-26 15:28:44 +0000690 ]
691
Ben Murdochc5610432016-08-08 18:44:38 +0100692 configs = [ ":internal_config" ]
Ben Murdochb8a8cc12014-11-26 15:28:44 +0000693}
694
695if (v8_use_external_startup_data) {
Ben Murdochc5610432016-08-08 18:44:38 +0100696 v8_source_set("v8_external_snapshot") {
Ben Murdochb8a8cc12014-11-26 15:28:44 +0000697 visibility = [ ":*" ] # Only targets in this file can depend on this.
698
699 deps = [
700 ":js2c",
701 ":js2c_experimental",
Ben Murdoch4a90d5f2016-03-22 12:00:34 +0000702 ":js2c_experimental_extras",
Ben Murdochda12d292016-06-02 14:46:10 +0100703 ":js2c_extras",
Ben Murdochb8a8cc12014-11-26 15:28:44 +0000704 ":v8_base",
Ben Murdoch4a90d5f2016-03-22 12:00:34 +0000705 ]
706 public_deps = [
Ben Murdochb8a8cc12014-11-26 15:28:44 +0000707 ":natives_blob",
Ben Murdoch4a90d5f2016-03-22 12:00:34 +0000708 ":run_mksnapshot",
Ben Murdochb8a8cc12014-11-26 15:28:44 +0000709 ]
710
711 sources = [
Ben Murdoch4a90d5f2016-03-22 12:00:34 +0000712 "src/snapshot/natives-external.cc",
713 "src/snapshot/snapshot-external.cc",
Ben Murdochb8a8cc12014-11-26 15:28:44 +0000714 ]
715
Ben Murdochc5610432016-08-08 18:44:38 +0100716 configs = [ ":internal_config" ]
Ben Murdochb8a8cc12014-11-26 15:28:44 +0000717 }
718}
719
Ben Murdochc5610432016-08-08 18:44:38 +0100720v8_source_set("v8_base") {
Ben Murdochb8a8cc12014-11-26 15:28:44 +0000721 visibility = [ ":*" ] # Only targets in this file can depend on this.
722
723 sources = [
Ben Murdoch61f157c2016-09-16 13:49:30 +0100724 "//base/trace_event/common/trace_event_common.h",
Ben Murdoch4a90d5f2016-03-22 12:00:34 +0000725 "include/v8-debug.h",
726 "include/v8-experimental.h",
727 "include/v8-platform.h",
728 "include/v8-profiler.h",
729 "include/v8-testing.h",
730 "include/v8-util.h",
731 "include/v8-version.h",
732 "include/v8.h",
733 "include/v8config.h",
Ben Murdochb8a8cc12014-11-26 15:28:44 +0000734 "src/accessors.cc",
735 "src/accessors.h",
Ben Murdoch4a90d5f2016-03-22 12:00:34 +0000736 "src/address-map.cc",
737 "src/address-map.h",
Ben Murdochb8a8cc12014-11-26 15:28:44 +0000738 "src/allocation-site-scopes.cc",
739 "src/allocation-site-scopes.h",
Ben Murdochda12d292016-06-02 14:46:10 +0100740 "src/allocation.cc",
741 "src/allocation.h",
Ben Murdoch61f157c2016-09-16 13:49:30 +0100742 "src/api-arguments-inl.h",
Ben Murdochda12d292016-06-02 14:46:10 +0100743 "src/api-arguments.cc",
744 "src/api-arguments.h",
Ben Murdoch4a90d5f2016-03-22 12:00:34 +0000745 "src/api-experimental.cc",
746 "src/api-experimental.h",
747 "src/api-natives.cc",
748 "src/api-natives.h",
Ben Murdochda12d292016-06-02 14:46:10 +0100749 "src/api.cc",
750 "src/api.h",
Ben Murdochb8a8cc12014-11-26 15:28:44 +0000751 "src/arguments.cc",
752 "src/arguments.h",
753 "src/assembler.cc",
754 "src/assembler.h",
Ben Murdochb8a8cc12014-11-26 15:28:44 +0000755 "src/assert-scope.cc",
Ben Murdochda12d292016-06-02 14:46:10 +0100756 "src/assert-scope.h",
Ben Murdoch4a90d5f2016-03-22 12:00:34 +0000757 "src/ast/ast-expression-rewriter.cc",
758 "src/ast/ast-expression-rewriter.h",
759 "src/ast/ast-expression-visitor.cc",
760 "src/ast/ast-expression-visitor.h",
761 "src/ast/ast-literal-reindexer.cc",
762 "src/ast/ast-literal-reindexer.h",
763 "src/ast/ast-numbering.cc",
764 "src/ast/ast-numbering.h",
Ben Murdochc5610432016-08-08 18:44:38 +0100765 "src/ast/ast-type-bounds.h",
Ben Murdoch4a90d5f2016-03-22 12:00:34 +0000766 "src/ast/ast-value-factory.cc",
767 "src/ast/ast-value-factory.h",
768 "src/ast/ast.cc",
769 "src/ast/ast.h",
770 "src/ast/modules.cc",
771 "src/ast/modules.h",
772 "src/ast/prettyprinter.cc",
773 "src/ast/prettyprinter.h",
774 "src/ast/scopeinfo.cc",
775 "src/ast/scopeinfo.h",
776 "src/ast/scopes.cc",
777 "src/ast/scopes.h",
778 "src/ast/variables.cc",
779 "src/ast/variables.h",
Ben Murdochb8a8cc12014-11-26 15:28:44 +0000780 "src/background-parsing-task.cc",
781 "src/background-parsing-task.h",
782 "src/bailout-reason.cc",
783 "src/bailout-reason.h",
Emily Bernierd0a1eb72015-03-24 16:35:39 -0400784 "src/basic-block-profiler.cc",
785 "src/basic-block-profiler.h",
Ben Murdochb8a8cc12014-11-26 15:28:44 +0000786 "src/bignum-dtoa.cc",
787 "src/bignum-dtoa.h",
788 "src/bignum.cc",
789 "src/bignum.h",
Emily Bernierd0a1eb72015-03-24 16:35:39 -0400790 "src/bit-vector.cc",
791 "src/bit-vector.h",
Ben Murdochb8a8cc12014-11-26 15:28:44 +0000792 "src/bootstrapper.cc",
793 "src/bootstrapper.h",
794 "src/builtins.cc",
795 "src/builtins.h",
Ben Murdochb8a8cc12014-11-26 15:28:44 +0000796 "src/cached-powers.cc",
797 "src/cached-powers.h",
Ben Murdochda12d292016-06-02 14:46:10 +0100798 "src/cancelable-task.cc",
799 "src/cancelable-task.h",
Ben Murdochb8a8cc12014-11-26 15:28:44 +0000800 "src/char-predicates-inl.h",
Ben Murdochda12d292016-06-02 14:46:10 +0100801 "src/char-predicates.cc",
Ben Murdochb8a8cc12014-11-26 15:28:44 +0000802 "src/char-predicates.h",
Ben Murdochb8a8cc12014-11-26 15:28:44 +0000803 "src/checks.h",
Ben Murdoch61f157c2016-09-16 13:49:30 +0100804 "src/code-events.h",
Ben Murdochb8a8cc12014-11-26 15:28:44 +0000805 "src/code-factory.cc",
806 "src/code-factory.h",
Ben Murdochc5610432016-08-08 18:44:38 +0100807 "src/code-stub-assembler.cc",
808 "src/code-stub-assembler.h",
Ben Murdochda12d292016-06-02 14:46:10 +0100809 "src/code-stubs-hydrogen.cc",
Ben Murdochb8a8cc12014-11-26 15:28:44 +0000810 "src/code-stubs.cc",
811 "src/code-stubs.h",
Ben Murdochb8a8cc12014-11-26 15:28:44 +0000812 "src/codegen.cc",
813 "src/codegen.h",
Ben Murdochda12d292016-06-02 14:46:10 +0100814 "src/collector.h",
Ben Murdochb8a8cc12014-11-26 15:28:44 +0000815 "src/compilation-cache.cc",
816 "src/compilation-cache.h",
Ben Murdoch4a90d5f2016-03-22 12:00:34 +0000817 "src/compilation-dependencies.cc",
818 "src/compilation-dependencies.h",
Emily Bernierd0a1eb72015-03-24 16:35:39 -0400819 "src/compilation-statistics.cc",
820 "src/compilation-statistics.h",
Ben Murdochda12d292016-06-02 14:46:10 +0100821 "src/compiler.cc",
822 "src/compiler.h",
Ben Murdochb8a8cc12014-11-26 15:28:44 +0000823 "src/compiler/access-builder.cc",
824 "src/compiler/access-builder.h",
Ben Murdoch4a90d5f2016-03-22 12:00:34 +0000825 "src/compiler/access-info.cc",
826 "src/compiler/access-info.h",
827 "src/compiler/all-nodes.cc",
828 "src/compiler/all-nodes.h",
Ben Murdochb8a8cc12014-11-26 15:28:44 +0000829 "src/compiler/ast-graph-builder.cc",
830 "src/compiler/ast-graph-builder.h",
Emily Bernierd0a1eb72015-03-24 16:35:39 -0400831 "src/compiler/ast-loop-assignment-analyzer.cc",
832 "src/compiler/ast-loop-assignment-analyzer.h",
833 "src/compiler/basic-block-instrumentor.cc",
834 "src/compiler/basic-block-instrumentor.h",
Ben Murdoch4a90d5f2016-03-22 12:00:34 +0000835 "src/compiler/branch-elimination.cc",
836 "src/compiler/branch-elimination.h",
837 "src/compiler/bytecode-branch-analysis.cc",
838 "src/compiler/bytecode-branch-analysis.h",
839 "src/compiler/bytecode-graph-builder.cc",
840 "src/compiler/bytecode-graph-builder.h",
Ben Murdochda12d292016-06-02 14:46:10 +0100841 "src/compiler/c-linkage.cc",
Ben Murdoch61f157c2016-09-16 13:49:30 +0100842 "src/compiler/checkpoint-elimination.cc",
843 "src/compiler/checkpoint-elimination.h",
Ben Murdochc5610432016-08-08 18:44:38 +0100844 "src/compiler/code-assembler.cc",
845 "src/compiler/code-assembler.h",
Ben Murdochb8a8cc12014-11-26 15:28:44 +0000846 "src/compiler/code-generator-impl.h",
847 "src/compiler/code-generator.cc",
848 "src/compiler/code-generator.h",
Emily Bernierd0a1eb72015-03-24 16:35:39 -0400849 "src/compiler/common-node-cache.cc",
Ben Murdochb8a8cc12014-11-26 15:28:44 +0000850 "src/compiler/common-node-cache.h",
Emily Bernierd0a1eb72015-03-24 16:35:39 -0400851 "src/compiler/common-operator-reducer.cc",
852 "src/compiler/common-operator-reducer.h",
Ben Murdochb8a8cc12014-11-26 15:28:44 +0000853 "src/compiler/common-operator.cc",
854 "src/compiler/common-operator.h",
855 "src/compiler/control-builders.cc",
856 "src/compiler/control-builders.h",
Ben Murdoch4a90d5f2016-03-22 12:00:34 +0000857 "src/compiler/control-equivalence.cc",
Emily Bernierd0a1eb72015-03-24 16:35:39 -0400858 "src/compiler/control-equivalence.h",
Ben Murdoch4a90d5f2016-03-22 12:00:34 +0000859 "src/compiler/control-flow-optimizer.cc",
860 "src/compiler/control-flow-optimizer.h",
861 "src/compiler/dead-code-elimination.cc",
862 "src/compiler/dead-code-elimination.h",
Emily Bernierd0a1eb72015-03-24 16:35:39 -0400863 "src/compiler/diamond.h",
Ben Murdochc5610432016-08-08 18:44:38 +0100864 "src/compiler/effect-control-linearizer.cc",
865 "src/compiler/effect-control-linearizer.h",
Ben Murdoch4a90d5f2016-03-22 12:00:34 +0000866 "src/compiler/escape-analysis-reducer.cc",
867 "src/compiler/escape-analysis-reducer.h",
Ben Murdochda12d292016-06-02 14:46:10 +0100868 "src/compiler/escape-analysis.cc",
869 "src/compiler/escape-analysis.h",
Ben Murdoch4a90d5f2016-03-22 12:00:34 +0000870 "src/compiler/frame-elider.cc",
871 "src/compiler/frame-elider.h",
872 "src/compiler/frame-states.cc",
873 "src/compiler/frame-states.h",
Ben Murdochda12d292016-06-02 14:46:10 +0100874 "src/compiler/frame.cc",
875 "src/compiler/frame.h",
Ben Murdochb8a8cc12014-11-26 15:28:44 +0000876 "src/compiler/gap-resolver.cc",
877 "src/compiler/gap-resolver.h",
Ben Murdochb8a8cc12014-11-26 15:28:44 +0000878 "src/compiler/graph-reducer.cc",
879 "src/compiler/graph-reducer.h",
880 "src/compiler/graph-replay.cc",
881 "src/compiler/graph-replay.h",
Ben Murdoch4a90d5f2016-03-22 12:00:34 +0000882 "src/compiler/graph-trimmer.cc",
883 "src/compiler/graph-trimmer.h",
Ben Murdochb8a8cc12014-11-26 15:28:44 +0000884 "src/compiler/graph-visualizer.cc",
885 "src/compiler/graph-visualizer.h",
886 "src/compiler/graph.cc",
887 "src/compiler/graph.h",
888 "src/compiler/instruction-codes.h",
Ben Murdoch4a90d5f2016-03-22 12:00:34 +0000889 "src/compiler/instruction-scheduler.cc",
890 "src/compiler/instruction-scheduler.h",
Ben Murdochb8a8cc12014-11-26 15:28:44 +0000891 "src/compiler/instruction-selector-impl.h",
892 "src/compiler/instruction-selector.cc",
893 "src/compiler/instruction-selector.h",
894 "src/compiler/instruction.cc",
895 "src/compiler/instruction.h",
Ben Murdoch097c5b22016-05-18 11:27:45 +0100896 "src/compiler/int64-lowering.cc",
897 "src/compiler/int64-lowering.h",
Ben Murdochb8a8cc12014-11-26 15:28:44 +0000898 "src/compiler/js-builtin-reducer.cc",
899 "src/compiler/js-builtin-reducer.h",
Ben Murdoch4a90d5f2016-03-22 12:00:34 +0000900 "src/compiler/js-call-reducer.cc",
901 "src/compiler/js-call-reducer.h",
Ben Murdochb8a8cc12014-11-26 15:28:44 +0000902 "src/compiler/js-context-specialization.cc",
903 "src/compiler/js-context-specialization.h",
Ben Murdoch097c5b22016-05-18 11:27:45 +0100904 "src/compiler/js-create-lowering.cc",
905 "src/compiler/js-create-lowering.h",
Ben Murdoch4a90d5f2016-03-22 12:00:34 +0000906 "src/compiler/js-frame-specialization.cc",
907 "src/compiler/js-frame-specialization.h",
Ben Murdochb8a8cc12014-11-26 15:28:44 +0000908 "src/compiler/js-generic-lowering.cc",
909 "src/compiler/js-generic-lowering.h",
Ben Murdoch4a90d5f2016-03-22 12:00:34 +0000910 "src/compiler/js-global-object-specialization.cc",
911 "src/compiler/js-global-object-specialization.h",
Ben Murdochb8a8cc12014-11-26 15:28:44 +0000912 "src/compiler/js-graph.cc",
913 "src/compiler/js-graph.h",
Ben Murdoch4a90d5f2016-03-22 12:00:34 +0000914 "src/compiler/js-inlining-heuristic.cc",
915 "src/compiler/js-inlining-heuristic.h",
Ben Murdochda12d292016-06-02 14:46:10 +0100916 "src/compiler/js-inlining.cc",
917 "src/compiler/js-inlining.h",
Ben Murdoch4a90d5f2016-03-22 12:00:34 +0000918 "src/compiler/js-intrinsic-lowering.cc",
919 "src/compiler/js-intrinsic-lowering.h",
920 "src/compiler/js-native-context-specialization.cc",
921 "src/compiler/js-native-context-specialization.h",
Emily Bernierd0a1eb72015-03-24 16:35:39 -0400922 "src/compiler/js-operator.cc",
Ben Murdochb8a8cc12014-11-26 15:28:44 +0000923 "src/compiler/js-operator.h",
924 "src/compiler/js-typed-lowering.cc",
925 "src/compiler/js-typed-lowering.h",
Emily Bernierd0a1eb72015-03-24 16:35:39 -0400926 "src/compiler/jump-threading.cc",
927 "src/compiler/jump-threading.h",
Ben Murdochb8a8cc12014-11-26 15:28:44 +0000928 "src/compiler/linkage.cc",
929 "src/compiler/linkage.h",
Ben Murdoch4a90d5f2016-03-22 12:00:34 +0000930 "src/compiler/live-range-separator.cc",
931 "src/compiler/live-range-separator.h",
932 "src/compiler/liveness-analyzer.cc",
933 "src/compiler/liveness-analyzer.h",
Emily Bernierd0a1eb72015-03-24 16:35:39 -0400934 "src/compiler/load-elimination.cc",
935 "src/compiler/load-elimination.h",
936 "src/compiler/loop-analysis.cc",
937 "src/compiler/loop-analysis.h",
Ben Murdochda12d292016-06-02 14:46:10 +0100938 "src/compiler/loop-peeling.cc",
Ben Murdochb8a8cc12014-11-26 15:28:44 +0000939 "src/compiler/machine-operator-reducer.cc",
940 "src/compiler/machine-operator-reducer.h",
941 "src/compiler/machine-operator.cc",
942 "src/compiler/machine-operator.h",
Ben Murdochc5610432016-08-08 18:44:38 +0100943 "src/compiler/memory-optimizer.cc",
944 "src/compiler/memory-optimizer.h",
Emily Bernierd0a1eb72015-03-24 16:35:39 -0400945 "src/compiler/move-optimizer.cc",
946 "src/compiler/move-optimizer.h",
Ben Murdochb8a8cc12014-11-26 15:28:44 +0000947 "src/compiler/node-aux-data.h",
948 "src/compiler/node-cache.cc",
949 "src/compiler/node-cache.h",
Ben Murdoch4a90d5f2016-03-22 12:00:34 +0000950 "src/compiler/node-marker.cc",
951 "src/compiler/node-marker.h",
952 "src/compiler/node-matchers.cc",
Ben Murdochb8a8cc12014-11-26 15:28:44 +0000953 "src/compiler/node-matchers.h",
Ben Murdoch4a90d5f2016-03-22 12:00:34 +0000954 "src/compiler/node-properties.cc",
Ben Murdochb8a8cc12014-11-26 15:28:44 +0000955 "src/compiler/node-properties.h",
956 "src/compiler/node.cc",
957 "src/compiler/node.h",
Emily Bernierd0a1eb72015-03-24 16:35:39 -0400958 "src/compiler/opcodes.cc",
Ben Murdochb8a8cc12014-11-26 15:28:44 +0000959 "src/compiler/opcodes.h",
Ben Murdoch61f157c2016-09-16 13:49:30 +0100960 "src/compiler/operation-typer.cc",
961 "src/compiler/operation-typer.h",
Emily Bernierd0a1eb72015-03-24 16:35:39 -0400962 "src/compiler/operator-properties.cc",
Ben Murdochb8a8cc12014-11-26 15:28:44 +0000963 "src/compiler/operator-properties.h",
964 "src/compiler/operator.cc",
965 "src/compiler/operator.h",
Ben Murdoch4a90d5f2016-03-22 12:00:34 +0000966 "src/compiler/osr.cc",
967 "src/compiler/osr.h",
Emily Bernierd0a1eb72015-03-24 16:35:39 -0400968 "src/compiler/pipeline-statistics.cc",
969 "src/compiler/pipeline-statistics.h",
Ben Murdochda12d292016-06-02 14:46:10 +0100970 "src/compiler/pipeline.cc",
971 "src/compiler/pipeline.h",
Ben Murdochb8a8cc12014-11-26 15:28:44 +0000972 "src/compiler/raw-machine-assembler.cc",
973 "src/compiler/raw-machine-assembler.h",
Ben Murdoch61f157c2016-09-16 13:49:30 +0100974 "src/compiler/redundancy-elimination.cc",
975 "src/compiler/redundancy-elimination.h",
Emily Bernierd0a1eb72015-03-24 16:35:39 -0400976 "src/compiler/register-allocator-verifier.cc",
977 "src/compiler/register-allocator-verifier.h",
Ben Murdochda12d292016-06-02 14:46:10 +0100978 "src/compiler/register-allocator.cc",
979 "src/compiler/register-allocator.h",
Ben Murdoch4a90d5f2016-03-22 12:00:34 +0000980 "src/compiler/representation-change.cc",
Ben Murdochb8a8cc12014-11-26 15:28:44 +0000981 "src/compiler/representation-change.h",
982 "src/compiler/schedule.cc",
983 "src/compiler/schedule.h",
984 "src/compiler/scheduler.cc",
985 "src/compiler/scheduler.h",
Emily Bernierd0a1eb72015-03-24 16:35:39 -0400986 "src/compiler/select-lowering.cc",
987 "src/compiler/select-lowering.h",
Ben Murdochb8a8cc12014-11-26 15:28:44 +0000988 "src/compiler/simplified-lowering.cc",
989 "src/compiler/simplified-lowering.h",
990 "src/compiler/simplified-operator-reducer.cc",
991 "src/compiler/simplified-operator-reducer.h",
992 "src/compiler/simplified-operator.cc",
993 "src/compiler/simplified-operator.h",
994 "src/compiler/source-position.cc",
995 "src/compiler/source-position.h",
Ben Murdoch4a90d5f2016-03-22 12:00:34 +0000996 "src/compiler/state-values-utils.cc",
997 "src/compiler/state-values-utils.h",
Ben Murdoch61f157c2016-09-16 13:49:30 +0100998 "src/compiler/store-store-elimination.cc",
999 "src/compiler/store-store-elimination.h",
Ben Murdoch4a90d5f2016-03-22 12:00:34 +00001000 "src/compiler/tail-call-optimization.cc",
1001 "src/compiler/tail-call-optimization.h",
1002 "src/compiler/type-hint-analyzer.cc",
1003 "src/compiler/type-hint-analyzer.h",
1004 "src/compiler/type-hints.cc",
1005 "src/compiler/type-hints.h",
Ben Murdochb8a8cc12014-11-26 15:28:44 +00001006 "src/compiler/typer.cc",
1007 "src/compiler/typer.h",
1008 "src/compiler/value-numbering-reducer.cc",
1009 "src/compiler/value-numbering-reducer.h",
1010 "src/compiler/verifier.cc",
1011 "src/compiler/verifier.h",
Ben Murdoch4a90d5f2016-03-22 12:00:34 +00001012 "src/compiler/wasm-compiler.cc",
1013 "src/compiler/wasm-compiler.h",
1014 "src/compiler/wasm-linkage.cc",
Emily Bernierd0a1eb72015-03-24 16:35:39 -04001015 "src/compiler/zone-pool.cc",
1016 "src/compiler/zone-pool.h",
Ben Murdoch4a90d5f2016-03-22 12:00:34 +00001017 "src/context-measure.cc",
1018 "src/context-measure.h",
1019 "src/contexts-inl.h",
Ben Murdochb8a8cc12014-11-26 15:28:44 +00001020 "src/contexts.cc",
1021 "src/contexts.h",
1022 "src/conversions-inl.h",
1023 "src/conversions.cc",
1024 "src/conversions.h",
Ben Murdochc5610432016-08-08 18:44:38 +01001025 "src/counters-inl.h",
Ben Murdochb8a8cc12014-11-26 15:28:44 +00001026 "src/counters.cc",
1027 "src/counters.h",
Ben Murdochda12d292016-06-02 14:46:10 +01001028 "src/crankshaft/compilation-phase.cc",
1029 "src/crankshaft/compilation-phase.h",
Ben Murdoch4a90d5f2016-03-22 12:00:34 +00001030 "src/crankshaft/hydrogen-alias-analysis.h",
1031 "src/crankshaft/hydrogen-bce.cc",
1032 "src/crankshaft/hydrogen-bce.h",
Ben Murdoch4a90d5f2016-03-22 12:00:34 +00001033 "src/crankshaft/hydrogen-canonicalize.cc",
1034 "src/crankshaft/hydrogen-canonicalize.h",
1035 "src/crankshaft/hydrogen-check-elimination.cc",
1036 "src/crankshaft/hydrogen-check-elimination.h",
1037 "src/crankshaft/hydrogen-dce.cc",
1038 "src/crankshaft/hydrogen-dce.h",
1039 "src/crankshaft/hydrogen-dehoist.cc",
1040 "src/crankshaft/hydrogen-dehoist.h",
1041 "src/crankshaft/hydrogen-environment-liveness.cc",
1042 "src/crankshaft/hydrogen-environment-liveness.h",
1043 "src/crankshaft/hydrogen-escape-analysis.cc",
1044 "src/crankshaft/hydrogen-escape-analysis.h",
1045 "src/crankshaft/hydrogen-flow-engine.h",
1046 "src/crankshaft/hydrogen-gvn.cc",
1047 "src/crankshaft/hydrogen-gvn.h",
1048 "src/crankshaft/hydrogen-infer-representation.cc",
1049 "src/crankshaft/hydrogen-infer-representation.h",
1050 "src/crankshaft/hydrogen-infer-types.cc",
1051 "src/crankshaft/hydrogen-infer-types.h",
1052 "src/crankshaft/hydrogen-instructions.cc",
1053 "src/crankshaft/hydrogen-instructions.h",
1054 "src/crankshaft/hydrogen-load-elimination.cc",
1055 "src/crankshaft/hydrogen-load-elimination.h",
1056 "src/crankshaft/hydrogen-mark-deoptimize.cc",
1057 "src/crankshaft/hydrogen-mark-deoptimize.h",
1058 "src/crankshaft/hydrogen-mark-unreachable.cc",
1059 "src/crankshaft/hydrogen-mark-unreachable.h",
1060 "src/crankshaft/hydrogen-osr.cc",
1061 "src/crankshaft/hydrogen-osr.h",
1062 "src/crankshaft/hydrogen-range-analysis.cc",
1063 "src/crankshaft/hydrogen-range-analysis.h",
1064 "src/crankshaft/hydrogen-redundant-phi.cc",
1065 "src/crankshaft/hydrogen-redundant-phi.h",
1066 "src/crankshaft/hydrogen-removable-simulates.cc",
1067 "src/crankshaft/hydrogen-removable-simulates.h",
1068 "src/crankshaft/hydrogen-representation-changes.cc",
1069 "src/crankshaft/hydrogen-representation-changes.h",
1070 "src/crankshaft/hydrogen-sce.cc",
1071 "src/crankshaft/hydrogen-sce.h",
1072 "src/crankshaft/hydrogen-store-elimination.cc",
1073 "src/crankshaft/hydrogen-store-elimination.h",
1074 "src/crankshaft/hydrogen-types.cc",
1075 "src/crankshaft/hydrogen-types.h",
1076 "src/crankshaft/hydrogen-uint32-analysis.cc",
1077 "src/crankshaft/hydrogen-uint32-analysis.h",
1078 "src/crankshaft/hydrogen.cc",
1079 "src/crankshaft/hydrogen.h",
1080 "src/crankshaft/lithium-allocator-inl.h",
1081 "src/crankshaft/lithium-allocator.cc",
1082 "src/crankshaft/lithium-allocator.h",
1083 "src/crankshaft/lithium-codegen.cc",
1084 "src/crankshaft/lithium-codegen.h",
1085 "src/crankshaft/lithium.cc",
1086 "src/crankshaft/lithium.h",
1087 "src/crankshaft/typing.cc",
1088 "src/crankshaft/typing.h",
1089 "src/crankshaft/unique.h",
Ben Murdochb8a8cc12014-11-26 15:28:44 +00001090 "src/date.cc",
1091 "src/date.h",
1092 "src/dateparser-inl.h",
1093 "src/dateparser.cc",
1094 "src/dateparser.h",
Ben Murdoch4a90d5f2016-03-22 12:00:34 +00001095 "src/debug/debug-evaluate.cc",
1096 "src/debug/debug-evaluate.h",
1097 "src/debug/debug-frames.cc",
1098 "src/debug/debug-frames.h",
1099 "src/debug/debug-scopes.cc",
1100 "src/debug/debug-scopes.h",
1101 "src/debug/debug.cc",
1102 "src/debug/debug.h",
1103 "src/debug/liveedit.cc",
1104 "src/debug/liveedit.h",
Ben Murdochb8a8cc12014-11-26 15:28:44 +00001105 "src/deoptimizer.cc",
1106 "src/deoptimizer.h",
1107 "src/disasm.h",
1108 "src/disassembler.cc",
1109 "src/disassembler.h",
1110 "src/diy-fp.cc",
1111 "src/diy-fp.h",
1112 "src/double.h",
1113 "src/dtoa.cc",
1114 "src/dtoa.h",
1115 "src/effects.h",
Ben Murdoch61f157c2016-09-16 13:49:30 +01001116 "src/eh-frame.cc",
1117 "src/eh-frame.h",
Ben Murdochb8a8cc12014-11-26 15:28:44 +00001118 "src/elements-kind.cc",
1119 "src/elements-kind.h",
1120 "src/elements.cc",
1121 "src/elements.h",
1122 "src/execution.cc",
1123 "src/execution.h",
1124 "src/extensions/externalize-string-extension.cc",
1125 "src/extensions/externalize-string-extension.h",
1126 "src/extensions/free-buffer-extension.cc",
1127 "src/extensions/free-buffer-extension.h",
1128 "src/extensions/gc-extension.cc",
1129 "src/extensions/gc-extension.h",
Ben Murdochc5610432016-08-08 18:44:38 +01001130 "src/extensions/ignition-statistics-extension.cc",
1131 "src/extensions/ignition-statistics-extension.h",
Ben Murdochb8a8cc12014-11-26 15:28:44 +00001132 "src/extensions/statistics-extension.cc",
1133 "src/extensions/statistics-extension.h",
1134 "src/extensions/trigger-failure-extension.cc",
1135 "src/extensions/trigger-failure-extension.h",
Ben Murdochda12d292016-06-02 14:46:10 +01001136 "src/external-reference-table.cc",
1137 "src/external-reference-table.h",
Ben Murdochb8a8cc12014-11-26 15:28:44 +00001138 "src/factory.cc",
1139 "src/factory.h",
Ben Murdochda12d292016-06-02 14:46:10 +01001140 "src/fast-accessor-assembler.cc",
1141 "src/fast-accessor-assembler.h",
Ben Murdochb8a8cc12014-11-26 15:28:44 +00001142 "src/fast-dtoa.cc",
1143 "src/fast-dtoa.h",
Ben Murdochb8a8cc12014-11-26 15:28:44 +00001144 "src/field-index-inl.h",
Ben Murdochda12d292016-06-02 14:46:10 +01001145 "src/field-index.h",
Ben Murdoch097c5b22016-05-18 11:27:45 +01001146 "src/field-type.cc",
1147 "src/field-type.h",
Ben Murdochb8a8cc12014-11-26 15:28:44 +00001148 "src/fixed-dtoa.cc",
1149 "src/fixed-dtoa.h",
1150 "src/flag-definitions.h",
1151 "src/flags.cc",
1152 "src/flags.h",
1153 "src/frames-inl.h",
1154 "src/frames.cc",
1155 "src/frames.h",
Ben Murdoch4a90d5f2016-03-22 12:00:34 +00001156 "src/full-codegen/full-codegen.cc",
1157 "src/full-codegen/full-codegen.h",
1158 "src/futex-emulation.cc",
1159 "src/futex-emulation.h",
Ben Murdochb8a8cc12014-11-26 15:28:44 +00001160 "src/gdb-jit.cc",
1161 "src/gdb-jit.h",
1162 "src/global-handles.cc",
1163 "src/global-handles.h",
1164 "src/globals.h",
1165 "src/handles-inl.h",
1166 "src/handles.cc",
1167 "src/handles.h",
Ben Murdoch097c5b22016-05-18 11:27:45 +01001168 "src/heap-symbols.h",
Ben Murdoch61f157c2016-09-16 13:49:30 +01001169 "src/heap/array-buffer-tracker-inl.h",
Ben Murdoch4a90d5f2016-03-22 12:00:34 +00001170 "src/heap/array-buffer-tracker.cc",
1171 "src/heap/array-buffer-tracker.h",
Ben Murdochb8a8cc12014-11-26 15:28:44 +00001172 "src/heap/gc-idle-time-handler.cc",
1173 "src/heap/gc-idle-time-handler.h",
1174 "src/heap/gc-tracer.cc",
1175 "src/heap/gc-tracer.h",
1176 "src/heap/heap-inl.h",
1177 "src/heap/heap.cc",
1178 "src/heap/heap.h",
Ben Murdoch4a90d5f2016-03-22 12:00:34 +00001179 "src/heap/incremental-marking-job.cc",
1180 "src/heap/incremental-marking-job.h",
Ben Murdochb8a8cc12014-11-26 15:28:44 +00001181 "src/heap/incremental-marking.cc",
1182 "src/heap/incremental-marking.h",
1183 "src/heap/mark-compact-inl.h",
1184 "src/heap/mark-compact.cc",
1185 "src/heap/mark-compact.h",
Ben Murdoch4a90d5f2016-03-22 12:00:34 +00001186 "src/heap/memory-reducer.cc",
1187 "src/heap/memory-reducer.h",
1188 "src/heap/object-stats.cc",
1189 "src/heap/object-stats.h",
Ben Murdochb8a8cc12014-11-26 15:28:44 +00001190 "src/heap/objects-visiting-inl.h",
1191 "src/heap/objects-visiting.cc",
1192 "src/heap/objects-visiting.h",
Ben Murdochda12d292016-06-02 14:46:10 +01001193 "src/heap/page-parallel-job.h",
Ben Murdoch097c5b22016-05-18 11:27:45 +01001194 "src/heap/remembered-set.cc",
1195 "src/heap/remembered-set.h",
Ben Murdoch4a90d5f2016-03-22 12:00:34 +00001196 "src/heap/scavenge-job.cc",
Ben Murdochda12d292016-06-02 14:46:10 +01001197 "src/heap/scavenge-job.h",
Ben Murdoch4a90d5f2016-03-22 12:00:34 +00001198 "src/heap/scavenger-inl.h",
1199 "src/heap/scavenger.cc",
1200 "src/heap/scavenger.h",
Ben Murdoch097c5b22016-05-18 11:27:45 +01001201 "src/heap/slot-set.h",
Ben Murdochb8a8cc12014-11-26 15:28:44 +00001202 "src/heap/spaces-inl.h",
1203 "src/heap/spaces.cc",
1204 "src/heap/spaces.h",
Ben Murdochb8a8cc12014-11-26 15:28:44 +00001205 "src/heap/store-buffer.cc",
1206 "src/heap/store-buffer.h",
Ben Murdochb8a8cc12014-11-26 15:28:44 +00001207 "src/i18n.cc",
1208 "src/i18n.h",
Ben Murdochb8a8cc12014-11-26 15:28:44 +00001209 "src/ic/access-compiler.cc",
1210 "src/ic/access-compiler.h",
1211 "src/ic/call-optimization.cc",
1212 "src/ic/call-optimization.h",
1213 "src/ic/handler-compiler.cc",
1214 "src/ic/handler-compiler.h",
Ben Murdochda12d292016-06-02 14:46:10 +01001215 "src/ic/ic-compiler.cc",
1216 "src/ic/ic-compiler.h",
Ben Murdochb8a8cc12014-11-26 15:28:44 +00001217 "src/ic/ic-inl.h",
1218 "src/ic/ic-state.cc",
1219 "src/ic/ic-state.h",
1220 "src/ic/ic.cc",
1221 "src/ic/ic.h",
Ben Murdochb8a8cc12014-11-26 15:28:44 +00001222 "src/ic/stub-cache.cc",
1223 "src/ic/stub-cache.h",
Ben Murdochda12d292016-06-02 14:46:10 +01001224 "src/icu_util.cc",
1225 "src/icu_util.h",
Ben Murdoch4a90d5f2016-03-22 12:00:34 +00001226 "src/identity-map.cc",
1227 "src/identity-map.h",
Ben Murdochb8a8cc12014-11-26 15:28:44 +00001228 "src/interface-descriptors.cc",
1229 "src/interface-descriptors.h",
Ben Murdoch4a90d5f2016-03-22 12:00:34 +00001230 "src/interpreter/bytecode-array-builder.cc",
1231 "src/interpreter/bytecode-array-builder.h",
1232 "src/interpreter/bytecode-array-iterator.cc",
1233 "src/interpreter/bytecode-array-iterator.h",
Ben Murdochc5610432016-08-08 18:44:38 +01001234 "src/interpreter/bytecode-array-writer.cc",
1235 "src/interpreter/bytecode-array-writer.h",
Ben Murdoch61f157c2016-09-16 13:49:30 +01001236 "src/interpreter/bytecode-dead-code-optimizer.cc",
1237 "src/interpreter/bytecode-dead-code-optimizer.h",
Ben Murdoch4a90d5f2016-03-22 12:00:34 +00001238 "src/interpreter/bytecode-generator.cc",
1239 "src/interpreter/bytecode-generator.h",
Ben Murdoch61f157c2016-09-16 13:49:30 +01001240 "src/interpreter/bytecode-label.h",
Ben Murdochc5610432016-08-08 18:44:38 +01001241 "src/interpreter/bytecode-peephole-optimizer.cc",
1242 "src/interpreter/bytecode-peephole-optimizer.h",
1243 "src/interpreter/bytecode-pipeline.cc",
1244 "src/interpreter/bytecode-pipeline.h",
Ben Murdoch4a90d5f2016-03-22 12:00:34 +00001245 "src/interpreter/bytecode-register-allocator.cc",
1246 "src/interpreter/bytecode-register-allocator.h",
Ben Murdoch61f157c2016-09-16 13:49:30 +01001247 "src/interpreter/bytecode-register-optimizer.cc",
1248 "src/interpreter/bytecode-register-optimizer.h",
Ben Murdoch4a90d5f2016-03-22 12:00:34 +00001249 "src/interpreter/bytecode-traits.h",
Ben Murdochda12d292016-06-02 14:46:10 +01001250 "src/interpreter/bytecodes.cc",
1251 "src/interpreter/bytecodes.h",
Ben Murdoch4a90d5f2016-03-22 12:00:34 +00001252 "src/interpreter/constant-array-builder.cc",
1253 "src/interpreter/constant-array-builder.h",
1254 "src/interpreter/control-flow-builders.cc",
1255 "src/interpreter/control-flow-builders.h",
Ben Murdoch097c5b22016-05-18 11:27:45 +01001256 "src/interpreter/handler-table-builder.cc",
1257 "src/interpreter/handler-table-builder.h",
Ben Murdoch097c5b22016-05-18 11:27:45 +01001258 "src/interpreter/interpreter-assembler.cc",
1259 "src/interpreter/interpreter-assembler.h",
Ben Murdochda12d292016-06-02 14:46:10 +01001260 "src/interpreter/interpreter-intrinsics.cc",
1261 "src/interpreter/interpreter-intrinsics.h",
1262 "src/interpreter/interpreter.cc",
1263 "src/interpreter/interpreter.h",
Ben Murdoch097c5b22016-05-18 11:27:45 +01001264 "src/interpreter/source-position-table.cc",
1265 "src/interpreter/source-position-table.h",
Ben Murdoch4a90d5f2016-03-22 12:00:34 +00001266 "src/isolate-inl.h",
Ben Murdochb8a8cc12014-11-26 15:28:44 +00001267 "src/isolate.cc",
1268 "src/isolate.h",
Ben Murdoch61f157c2016-09-16 13:49:30 +01001269 "src/json-parser.cc",
Ben Murdoch097c5b22016-05-18 11:27:45 +01001270 "src/json-parser.h",
Ben Murdoch61f157c2016-09-16 13:49:30 +01001271 "src/json-stringifier.cc",
Ben Murdochb8a8cc12014-11-26 15:28:44 +00001272 "src/json-stringifier.h",
Ben Murdochda12d292016-06-02 14:46:10 +01001273 "src/keys.cc",
1274 "src/keys.h",
Emily Bernierd0a1eb72015-03-24 16:35:39 -04001275 "src/layout-descriptor-inl.h",
1276 "src/layout-descriptor.cc",
1277 "src/layout-descriptor.h",
Ben Murdochb8a8cc12014-11-26 15:28:44 +00001278 "src/list-inl.h",
1279 "src/list.h",
Ben Murdochb8a8cc12014-11-26 15:28:44 +00001280 "src/log-inl.h",
1281 "src/log-utils.cc",
1282 "src/log-utils.h",
1283 "src/log.cc",
1284 "src/log.h",
Ben Murdochb8a8cc12014-11-26 15:28:44 +00001285 "src/lookup.cc",
1286 "src/lookup.h",
Ben Murdoch4a90d5f2016-03-22 12:00:34 +00001287 "src/machine-type.cc",
1288 "src/machine-type.h",
Ben Murdochda12d292016-06-02 14:46:10 +01001289 "src/macro-assembler.h",
Ben Murdochb8a8cc12014-11-26 15:28:44 +00001290 "src/messages.cc",
1291 "src/messages.h",
1292 "src/msan.h",
Ben Murdoch4a90d5f2016-03-22 12:00:34 +00001293 "src/objects-body-descriptors-inl.h",
1294 "src/objects-body-descriptors.h",
Ben Murdochb8a8cc12014-11-26 15:28:44 +00001295 "src/objects-debug.cc",
1296 "src/objects-inl.h",
1297 "src/objects-printer.cc",
1298 "src/objects.cc",
1299 "src/objects.h",
Ben Murdoch4a90d5f2016-03-22 12:00:34 +00001300 "src/optimizing-compile-dispatcher.cc",
1301 "src/optimizing-compile-dispatcher.h",
Ben Murdochb8a8cc12014-11-26 15:28:44 +00001302 "src/ostreams.cc",
1303 "src/ostreams.h",
Ben Murdoch4a90d5f2016-03-22 12:00:34 +00001304 "src/parsing/expression-classifier.h",
1305 "src/parsing/func-name-inferrer.cc",
1306 "src/parsing/func-name-inferrer.h",
Ben Murdoch4a90d5f2016-03-22 12:00:34 +00001307 "src/parsing/parameter-initializer-rewriter.cc",
1308 "src/parsing/parameter-initializer-rewriter.h",
1309 "src/parsing/parser-base.h",
1310 "src/parsing/parser.cc",
1311 "src/parsing/parser.h",
1312 "src/parsing/pattern-rewriter.cc",
1313 "src/parsing/preparse-data-format.h",
1314 "src/parsing/preparse-data.cc",
1315 "src/parsing/preparse-data.h",
1316 "src/parsing/preparser.cc",
1317 "src/parsing/preparser.h",
1318 "src/parsing/rewriter.cc",
1319 "src/parsing/rewriter.h",
1320 "src/parsing/scanner-character-streams.cc",
1321 "src/parsing/scanner-character-streams.h",
1322 "src/parsing/scanner.cc",
1323 "src/parsing/scanner.h",
1324 "src/parsing/token.cc",
1325 "src/parsing/token.h",
1326 "src/pending-compilation-error-handler.cc",
1327 "src/pending-compilation-error-handler.h",
Ben Murdochda12d292016-06-02 14:46:10 +01001328 "src/perf-jit.cc",
1329 "src/perf-jit.h",
Ben Murdoch4a90d5f2016-03-22 12:00:34 +00001330 "src/profiler/allocation-tracker.cc",
1331 "src/profiler/allocation-tracker.h",
1332 "src/profiler/circular-queue-inl.h",
1333 "src/profiler/circular-queue.h",
1334 "src/profiler/cpu-profiler-inl.h",
1335 "src/profiler/cpu-profiler.cc",
1336 "src/profiler/cpu-profiler.h",
1337 "src/profiler/heap-profiler.cc",
1338 "src/profiler/heap-profiler.h",
1339 "src/profiler/heap-snapshot-generator-inl.h",
1340 "src/profiler/heap-snapshot-generator.cc",
1341 "src/profiler/heap-snapshot-generator.h",
1342 "src/profiler/profile-generator-inl.h",
1343 "src/profiler/profile-generator.cc",
1344 "src/profiler/profile-generator.h",
Ben Murdoch61f157c2016-09-16 13:49:30 +01001345 "src/profiler/profiler-listener.cc",
1346 "src/profiler/profiler-listener.h",
Ben Murdoch097c5b22016-05-18 11:27:45 +01001347 "src/profiler/sampling-heap-profiler.cc",
1348 "src/profiler/sampling-heap-profiler.h",
Ben Murdoch4a90d5f2016-03-22 12:00:34 +00001349 "src/profiler/strings-storage.cc",
1350 "src/profiler/strings-storage.h",
Ben Murdochc5610432016-08-08 18:44:38 +01001351 "src/profiler/tick-sample.cc",
1352 "src/profiler/tick-sample.h",
Ben Murdoch4a90d5f2016-03-22 12:00:34 +00001353 "src/profiler/unbound-queue-inl.h",
1354 "src/profiler/unbound-queue.h",
1355 "src/property-descriptor.cc",
1356 "src/property-descriptor.h",
Ben Murdochb8a8cc12014-11-26 15:28:44 +00001357 "src/property-details.h",
1358 "src/property.cc",
1359 "src/property.h",
1360 "src/prototype.h",
Ben Murdoch4a90d5f2016-03-22 12:00:34 +00001361 "src/regexp/bytecodes-irregexp.h",
1362 "src/regexp/interpreter-irregexp.cc",
1363 "src/regexp/interpreter-irregexp.h",
1364 "src/regexp/jsregexp-inl.h",
1365 "src/regexp/jsregexp.cc",
1366 "src/regexp/jsregexp.h",
1367 "src/regexp/regexp-ast.cc",
1368 "src/regexp/regexp-ast.h",
1369 "src/regexp/regexp-macro-assembler-irregexp-inl.h",
1370 "src/regexp/regexp-macro-assembler-irregexp.cc",
1371 "src/regexp/regexp-macro-assembler-irregexp.h",
1372 "src/regexp/regexp-macro-assembler-tracer.cc",
1373 "src/regexp/regexp-macro-assembler-tracer.h",
1374 "src/regexp/regexp-macro-assembler.cc",
1375 "src/regexp/regexp-macro-assembler.h",
1376 "src/regexp/regexp-parser.cc",
1377 "src/regexp/regexp-parser.h",
1378 "src/regexp/regexp-stack.cc",
1379 "src/regexp/regexp-stack.h",
1380 "src/register-configuration.cc",
1381 "src/register-configuration.h",
Ben Murdochb8a8cc12014-11-26 15:28:44 +00001382 "src/runtime-profiler.cc",
1383 "src/runtime-profiler.h",
Emily Bernierd0a1eb72015-03-24 16:35:39 -04001384 "src/runtime/runtime-array.cc",
Ben Murdoch4a90d5f2016-03-22 12:00:34 +00001385 "src/runtime/runtime-atomics.cc",
Emily Bernierd0a1eb72015-03-24 16:35:39 -04001386 "src/runtime/runtime-classes.cc",
1387 "src/runtime/runtime-collections.cc",
1388 "src/runtime/runtime-compiler.cc",
1389 "src/runtime/runtime-date.cc",
1390 "src/runtime/runtime-debug.cc",
Ben Murdoch4a90d5f2016-03-22 12:00:34 +00001391 "src/runtime/runtime-forin.cc",
Emily Bernierd0a1eb72015-03-24 16:35:39 -04001392 "src/runtime/runtime-function.cc",
Ben Murdoch4a90d5f2016-03-22 12:00:34 +00001393 "src/runtime/runtime-futex.cc",
Emily Bernierd0a1eb72015-03-24 16:35:39 -04001394 "src/runtime/runtime-generator.cc",
1395 "src/runtime/runtime-i18n.cc",
1396 "src/runtime/runtime-internal.cc",
Ben Murdoch4a90d5f2016-03-22 12:00:34 +00001397 "src/runtime/runtime-interpreter.cc",
Emily Bernierd0a1eb72015-03-24 16:35:39 -04001398 "src/runtime/runtime-literals.cc",
1399 "src/runtime/runtime-liveedit.cc",
1400 "src/runtime/runtime-maths.cc",
1401 "src/runtime/runtime-numbers.cc",
1402 "src/runtime/runtime-object.cc",
Ben Murdoch4a90d5f2016-03-22 12:00:34 +00001403 "src/runtime/runtime-operators.cc",
Emily Bernierd0a1eb72015-03-24 16:35:39 -04001404 "src/runtime/runtime-proxy.cc",
1405 "src/runtime/runtime-regexp.cc",
1406 "src/runtime/runtime-scopes.cc",
Ben Murdoch4a90d5f2016-03-22 12:00:34 +00001407 "src/runtime/runtime-simd.cc",
Emily Bernierd0a1eb72015-03-24 16:35:39 -04001408 "src/runtime/runtime-strings.cc",
1409 "src/runtime/runtime-symbol.cc",
1410 "src/runtime/runtime-test.cc",
1411 "src/runtime/runtime-typedarray.cc",
Emily Bernierd0a1eb72015-03-24 16:35:39 -04001412 "src/runtime/runtime-utils.h",
1413 "src/runtime/runtime.cc",
1414 "src/runtime/runtime.h",
Ben Murdochb8a8cc12014-11-26 15:28:44 +00001415 "src/safepoint-table.cc",
1416 "src/safepoint-table.h",
Ben Murdoch4a90d5f2016-03-22 12:00:34 +00001417 "src/signature.h",
1418 "src/simulator.h",
Ben Murdochb8a8cc12014-11-26 15:28:44 +00001419 "src/small-pointer-list.h",
Ben Murdochda12d292016-06-02 14:46:10 +01001420 "src/snapshot/code-serializer.cc",
1421 "src/snapshot/code-serializer.h",
1422 "src/snapshot/deserializer.cc",
1423 "src/snapshot/deserializer.h",
Ben Murdoch4a90d5f2016-03-22 12:00:34 +00001424 "src/snapshot/natives-common.cc",
Ben Murdochda12d292016-06-02 14:46:10 +01001425 "src/snapshot/natives.h",
1426 "src/snapshot/partial-serializer.cc",
1427 "src/snapshot/partial-serializer.h",
1428 "src/snapshot/serializer-common.cc",
1429 "src/snapshot/serializer-common.h",
1430 "src/snapshot/serializer.cc",
1431 "src/snapshot/serializer.h",
Ben Murdoch4a90d5f2016-03-22 12:00:34 +00001432 "src/snapshot/snapshot-common.cc",
1433 "src/snapshot/snapshot-source-sink.cc",
1434 "src/snapshot/snapshot-source-sink.h",
Ben Murdoch4a90d5f2016-03-22 12:00:34 +00001435 "src/snapshot/snapshot.h",
Ben Murdochda12d292016-06-02 14:46:10 +01001436 "src/snapshot/startup-serializer.cc",
1437 "src/snapshot/startup-serializer.h",
1438 "src/source-position.h",
1439 "src/splay-tree-inl.h",
1440 "src/splay-tree.h",
Ben Murdoch4a90d5f2016-03-22 12:00:34 +00001441 "src/startup-data-util.cc",
Ben Murdochda12d292016-06-02 14:46:10 +01001442 "src/startup-data-util.h",
Emily Bernierd0a1eb72015-03-24 16:35:39 -04001443 "src/string-builder.cc",
1444 "src/string-builder.h",
Ben Murdochb8a8cc12014-11-26 15:28:44 +00001445 "src/string-search.h",
1446 "src/string-stream.cc",
1447 "src/string-stream.h",
1448 "src/strtod.cc",
1449 "src/strtod.h",
Ben Murdoch4a90d5f2016-03-22 12:00:34 +00001450 "src/tracing/trace-event.cc",
1451 "src/tracing/trace-event.h",
Ben Murdochb8a8cc12014-11-26 15:28:44 +00001452 "src/transitions-inl.h",
1453 "src/transitions.cc",
1454 "src/transitions.h",
Ben Murdoch4a90d5f2016-03-22 12:00:34 +00001455 "src/type-cache.cc",
1456 "src/type-cache.h",
Ben Murdochb8a8cc12014-11-26 15:28:44 +00001457 "src/type-feedback-vector-inl.h",
1458 "src/type-feedback-vector.cc",
1459 "src/type-feedback-vector.h",
1460 "src/type-info.cc",
1461 "src/type-info.h",
Ben Murdochb8a8cc12014-11-26 15:28:44 +00001462 "src/types.cc",
1463 "src/types.h",
Ben Murdoch4a90d5f2016-03-22 12:00:34 +00001464 "src/typing-asm.cc",
1465 "src/typing-asm.h",
Ben Murdoch4a90d5f2016-03-22 12:00:34 +00001466 "src/unicode-cache-inl.h",
1467 "src/unicode-cache.h",
Emily Bernierd0a1eb72015-03-24 16:35:39 -04001468 "src/unicode-decoder.cc",
1469 "src/unicode-decoder.h",
Ben Murdochda12d292016-06-02 14:46:10 +01001470 "src/unicode-inl.h",
1471 "src/unicode.cc",
1472 "src/unicode.h",
Ben Murdochc5610432016-08-08 18:44:38 +01001473 "src/uri.cc",
1474 "src/uri.h",
Ben Murdoch097c5b22016-05-18 11:27:45 +01001475 "src/utils-inl.h",
Ben Murdochb8a8cc12014-11-26 15:28:44 +00001476 "src/utils.cc",
1477 "src/utils.h",
1478 "src/v8.cc",
1479 "src/v8.h",
1480 "src/v8memory.h",
1481 "src/v8threads.cc",
1482 "src/v8threads.h",
Ben Murdochb8a8cc12014-11-26 15:28:44 +00001483 "src/version.cc",
1484 "src/version.h",
1485 "src/vm-state-inl.h",
1486 "src/vm-state.h",
Ben Murdoch61f157c2016-09-16 13:49:30 +01001487 "src/wasm/asm-types.cc",
1488 "src/wasm/asm-types.h",
Ben Murdoch4a90d5f2016-03-22 12:00:34 +00001489 "src/wasm/asm-wasm-builder.cc",
1490 "src/wasm/asm-wasm-builder.h",
1491 "src/wasm/ast-decoder.cc",
1492 "src/wasm/ast-decoder.h",
1493 "src/wasm/decoder.h",
1494 "src/wasm/encoder.cc",
1495 "src/wasm/encoder.h",
Ben Murdochc5610432016-08-08 18:44:38 +01001496 "src/wasm/leb-helper.h",
Ben Murdoch4a90d5f2016-03-22 12:00:34 +00001497 "src/wasm/module-decoder.cc",
1498 "src/wasm/module-decoder.h",
Ben Murdochc5610432016-08-08 18:44:38 +01001499 "src/wasm/switch-logic.cc",
1500 "src/wasm/switch-logic.h",
Ben Murdoch61f157c2016-09-16 13:49:30 +01001501 "src/wasm/wasm-debug.cc",
1502 "src/wasm/wasm-debug.h",
Ben Murdochc5610432016-08-08 18:44:38 +01001503 "src/wasm/wasm-external-refs.cc",
Ben Murdochda12d292016-06-02 14:46:10 +01001504 "src/wasm/wasm-external-refs.h",
Ben Murdochc5610432016-08-08 18:44:38 +01001505 "src/wasm/wasm-function-name-table.cc",
1506 "src/wasm/wasm-function-name-table.h",
Ben Murdoch61f157c2016-09-16 13:49:30 +01001507 "src/wasm/wasm-interpreter.cc",
1508 "src/wasm/wasm-interpreter.h",
Ben Murdoch4a90d5f2016-03-22 12:00:34 +00001509 "src/wasm/wasm-js.cc",
1510 "src/wasm/wasm-js.h",
1511 "src/wasm/wasm-macro-gen.h",
1512 "src/wasm/wasm-module.cc",
1513 "src/wasm/wasm-module.h",
1514 "src/wasm/wasm-opcodes.cc",
1515 "src/wasm/wasm-opcodes.h",
1516 "src/wasm/wasm-result.cc",
1517 "src/wasm/wasm-result.h",
Ben Murdoch4a90d5f2016-03-22 12:00:34 +00001518 "src/zone-allocator.h",
1519 "src/zone-containers.h",
Ben Murdochda12d292016-06-02 14:46:10 +01001520 "src/zone.cc",
1521 "src/zone.h",
Ben Murdochb8a8cc12014-11-26 15:28:44 +00001522 ]
1523
Ben Murdoch61f157c2016-09-16 13:49:30 +01001524 if (v8_target_cpu == "x86") {
Ben Murdochb8a8cc12014-11-26 15:28:44 +00001525 sources += [
Ben Murdochda12d292016-06-02 14:46:10 +01001526 "src/compiler/ia32/code-generator-ia32.cc",
1527 "src/compiler/ia32/instruction-codes-ia32.h",
1528 "src/compiler/ia32/instruction-scheduler-ia32.cc",
1529 "src/compiler/ia32/instruction-selector-ia32.cc",
Ben Murdoch4a90d5f2016-03-22 12:00:34 +00001530 "src/crankshaft/ia32/lithium-codegen-ia32.cc",
1531 "src/crankshaft/ia32/lithium-codegen-ia32.h",
1532 "src/crankshaft/ia32/lithium-gap-resolver-ia32.cc",
1533 "src/crankshaft/ia32/lithium-gap-resolver-ia32.h",
1534 "src/crankshaft/ia32/lithium-ia32.cc",
1535 "src/crankshaft/ia32/lithium-ia32.h",
Ben Murdoch4a90d5f2016-03-22 12:00:34 +00001536 "src/debug/ia32/debug-ia32.cc",
1537 "src/full-codegen/ia32/full-codegen-ia32.cc",
Ben Murdochb8a8cc12014-11-26 15:28:44 +00001538 "src/ia32/assembler-ia32-inl.h",
1539 "src/ia32/assembler-ia32.cc",
1540 "src/ia32/assembler-ia32.h",
1541 "src/ia32/builtins-ia32.cc",
1542 "src/ia32/code-stubs-ia32.cc",
1543 "src/ia32/code-stubs-ia32.h",
1544 "src/ia32/codegen-ia32.cc",
1545 "src/ia32/codegen-ia32.h",
1546 "src/ia32/cpu-ia32.cc",
Ben Murdochb8a8cc12014-11-26 15:28:44 +00001547 "src/ia32/deoptimizer-ia32.cc",
1548 "src/ia32/disasm-ia32.cc",
1549 "src/ia32/frames-ia32.cc",
1550 "src/ia32/frames-ia32.h",
Ben Murdochb8a8cc12014-11-26 15:28:44 +00001551 "src/ia32/interface-descriptors-ia32.cc",
Ben Murdochb8a8cc12014-11-26 15:28:44 +00001552 "src/ia32/macro-assembler-ia32.cc",
1553 "src/ia32/macro-assembler-ia32.h",
Emily Bernierd0a1eb72015-03-24 16:35:39 -04001554 "src/ic/ia32/access-compiler-ia32.cc",
1555 "src/ic/ia32/handler-compiler-ia32.cc",
Ben Murdochb8a8cc12014-11-26 15:28:44 +00001556 "src/ic/ia32/ic-compiler-ia32.cc",
Ben Murdochda12d292016-06-02 14:46:10 +01001557 "src/ic/ia32/ic-ia32.cc",
Ben Murdochb8a8cc12014-11-26 15:28:44 +00001558 "src/ic/ia32/stub-cache-ia32.cc",
Ben Murdoch4a90d5f2016-03-22 12:00:34 +00001559 "src/regexp/ia32/regexp-macro-assembler-ia32.cc",
1560 "src/regexp/ia32/regexp-macro-assembler-ia32.h",
Ben Murdochb8a8cc12014-11-26 15:28:44 +00001561 ]
Ben Murdoch61f157c2016-09-16 13:49:30 +01001562 } else if (v8_target_cpu == "x64") {
Ben Murdochb8a8cc12014-11-26 15:28:44 +00001563 sources += [
Ben Murdoch4a90d5f2016-03-22 12:00:34 +00001564 "src/compiler/x64/code-generator-x64.cc",
1565 "src/compiler/x64/instruction-codes-x64.h",
1566 "src/compiler/x64/instruction-scheduler-x64.cc",
1567 "src/compiler/x64/instruction-selector-x64.cc",
1568 "src/crankshaft/x64/lithium-codegen-x64.cc",
1569 "src/crankshaft/x64/lithium-codegen-x64.h",
1570 "src/crankshaft/x64/lithium-gap-resolver-x64.cc",
1571 "src/crankshaft/x64/lithium-gap-resolver-x64.h",
1572 "src/crankshaft/x64/lithium-x64.cc",
1573 "src/crankshaft/x64/lithium-x64.h",
1574 "src/debug/x64/debug-x64.cc",
1575 "src/full-codegen/x64/full-codegen-x64.cc",
1576 "src/ic/x64/access-compiler-x64.cc",
1577 "src/ic/x64/handler-compiler-x64.cc",
Ben Murdoch4a90d5f2016-03-22 12:00:34 +00001578 "src/ic/x64/ic-compiler-x64.cc",
Ben Murdochda12d292016-06-02 14:46:10 +01001579 "src/ic/x64/ic-x64.cc",
Ben Murdoch4a90d5f2016-03-22 12:00:34 +00001580 "src/ic/x64/stub-cache-x64.cc",
1581 "src/regexp/x64/regexp-macro-assembler-x64.cc",
1582 "src/regexp/x64/regexp-macro-assembler-x64.h",
Ben Murdochb8a8cc12014-11-26 15:28:44 +00001583 "src/x64/assembler-x64-inl.h",
1584 "src/x64/assembler-x64.cc",
1585 "src/x64/assembler-x64.h",
1586 "src/x64/builtins-x64.cc",
1587 "src/x64/code-stubs-x64.cc",
1588 "src/x64/code-stubs-x64.h",
1589 "src/x64/codegen-x64.cc",
1590 "src/x64/codegen-x64.h",
1591 "src/x64/cpu-x64.cc",
Ben Murdochb8a8cc12014-11-26 15:28:44 +00001592 "src/x64/deoptimizer-x64.cc",
1593 "src/x64/disasm-x64.cc",
1594 "src/x64/frames-x64.cc",
1595 "src/x64/frames-x64.h",
Ben Murdochb8a8cc12014-11-26 15:28:44 +00001596 "src/x64/interface-descriptors-x64.cc",
Ben Murdochb8a8cc12014-11-26 15:28:44 +00001597 "src/x64/macro-assembler-x64.cc",
1598 "src/x64/macro-assembler-x64.h",
Ben Murdochb8a8cc12014-11-26 15:28:44 +00001599 ]
Ben Murdoch61f157c2016-09-16 13:49:30 +01001600 } else if (v8_target_cpu == "arm") {
Ben Murdochb8a8cc12014-11-26 15:28:44 +00001601 sources += [
1602 "src/arm/assembler-arm-inl.h",
1603 "src/arm/assembler-arm.cc",
1604 "src/arm/assembler-arm.h",
1605 "src/arm/builtins-arm.cc",
1606 "src/arm/code-stubs-arm.cc",
1607 "src/arm/code-stubs-arm.h",
1608 "src/arm/codegen-arm.cc",
1609 "src/arm/codegen-arm.h",
Ben Murdochb8a8cc12014-11-26 15:28:44 +00001610 "src/arm/constants-arm.cc",
Ben Murdochda12d292016-06-02 14:46:10 +01001611 "src/arm/constants-arm.h",
Ben Murdochb8a8cc12014-11-26 15:28:44 +00001612 "src/arm/cpu-arm.cc",
Ben Murdochb8a8cc12014-11-26 15:28:44 +00001613 "src/arm/deoptimizer-arm.cc",
1614 "src/arm/disasm-arm.cc",
1615 "src/arm/frames-arm.cc",
1616 "src/arm/frames-arm.h",
Ben Murdochb8a8cc12014-11-26 15:28:44 +00001617 "src/arm/interface-descriptors-arm.cc",
1618 "src/arm/interface-descriptors-arm.h",
Ben Murdochb8a8cc12014-11-26 15:28:44 +00001619 "src/arm/macro-assembler-arm.cc",
1620 "src/arm/macro-assembler-arm.h",
Ben Murdochb8a8cc12014-11-26 15:28:44 +00001621 "src/arm/simulator-arm.cc",
Ben Murdoch4a90d5f2016-03-22 12:00:34 +00001622 "src/arm/simulator-arm.h",
Ben Murdochb8a8cc12014-11-26 15:28:44 +00001623 "src/compiler/arm/code-generator-arm.cc",
1624 "src/compiler/arm/instruction-codes-arm.h",
Ben Murdoch4a90d5f2016-03-22 12:00:34 +00001625 "src/compiler/arm/instruction-scheduler-arm.cc",
Ben Murdochb8a8cc12014-11-26 15:28:44 +00001626 "src/compiler/arm/instruction-selector-arm.cc",
Ben Murdoch4a90d5f2016-03-22 12:00:34 +00001627 "src/crankshaft/arm/lithium-arm.cc",
1628 "src/crankshaft/arm/lithium-arm.h",
1629 "src/crankshaft/arm/lithium-codegen-arm.cc",
1630 "src/crankshaft/arm/lithium-codegen-arm.h",
1631 "src/crankshaft/arm/lithium-gap-resolver-arm.cc",
1632 "src/crankshaft/arm/lithium-gap-resolver-arm.h",
1633 "src/debug/arm/debug-arm.cc",
1634 "src/full-codegen/arm/full-codegen-arm.cc",
Ben Murdochb8a8cc12014-11-26 15:28:44 +00001635 "src/ic/arm/access-compiler-arm.cc",
1636 "src/ic/arm/handler-compiler-arm.cc",
1637 "src/ic/arm/ic-arm.cc",
1638 "src/ic/arm/ic-compiler-arm.cc",
1639 "src/ic/arm/stub-cache-arm.cc",
Ben Murdoch4a90d5f2016-03-22 12:00:34 +00001640 "src/regexp/arm/regexp-macro-assembler-arm.cc",
1641 "src/regexp/arm/regexp-macro-assembler-arm.h",
Ben Murdochb8a8cc12014-11-26 15:28:44 +00001642 ]
Ben Murdoch61f157c2016-09-16 13:49:30 +01001643 } else if (v8_target_cpu == "arm64") {
Ben Murdochb8a8cc12014-11-26 15:28:44 +00001644 sources += [
Ben Murdochda12d292016-06-02 14:46:10 +01001645 "src/arm64/assembler-arm64-inl.h",
Ben Murdochb8a8cc12014-11-26 15:28:44 +00001646 "src/arm64/assembler-arm64.cc",
1647 "src/arm64/assembler-arm64.h",
Ben Murdochb8a8cc12014-11-26 15:28:44 +00001648 "src/arm64/builtins-arm64.cc",
Ben Murdochb8a8cc12014-11-26 15:28:44 +00001649 "src/arm64/code-stubs-arm64.cc",
1650 "src/arm64/code-stubs-arm64.h",
Ben Murdochda12d292016-06-02 14:46:10 +01001651 "src/arm64/codegen-arm64.cc",
1652 "src/arm64/codegen-arm64.h",
Ben Murdochb8a8cc12014-11-26 15:28:44 +00001653 "src/arm64/constants-arm64.h",
1654 "src/arm64/cpu-arm64.cc",
Ben Murdochda12d292016-06-02 14:46:10 +01001655 "src/arm64/decoder-arm64-inl.h",
Ben Murdochb8a8cc12014-11-26 15:28:44 +00001656 "src/arm64/decoder-arm64.cc",
1657 "src/arm64/decoder-arm64.h",
Ben Murdochb8a8cc12014-11-26 15:28:44 +00001658 "src/arm64/deoptimizer-arm64.cc",
1659 "src/arm64/disasm-arm64.cc",
1660 "src/arm64/disasm-arm64.h",
1661 "src/arm64/frames-arm64.cc",
1662 "src/arm64/frames-arm64.h",
Ben Murdochb8a8cc12014-11-26 15:28:44 +00001663 "src/arm64/instructions-arm64.cc",
1664 "src/arm64/instructions-arm64.h",
1665 "src/arm64/instrument-arm64.cc",
1666 "src/arm64/instrument-arm64.h",
1667 "src/arm64/interface-descriptors-arm64.cc",
1668 "src/arm64/interface-descriptors-arm64.h",
Ben Murdochda12d292016-06-02 14:46:10 +01001669 "src/arm64/macro-assembler-arm64-inl.h",
Ben Murdochb8a8cc12014-11-26 15:28:44 +00001670 "src/arm64/macro-assembler-arm64.cc",
1671 "src/arm64/macro-assembler-arm64.h",
Ben Murdochb8a8cc12014-11-26 15:28:44 +00001672 "src/arm64/simulator-arm64.cc",
1673 "src/arm64/simulator-arm64.h",
1674 "src/arm64/utils-arm64.cc",
1675 "src/arm64/utils-arm64.h",
1676 "src/compiler/arm64/code-generator-arm64.cc",
1677 "src/compiler/arm64/instruction-codes-arm64.h",
Ben Murdoch4a90d5f2016-03-22 12:00:34 +00001678 "src/compiler/arm64/instruction-scheduler-arm64.cc",
Ben Murdochb8a8cc12014-11-26 15:28:44 +00001679 "src/compiler/arm64/instruction-selector-arm64.cc",
Ben Murdochda12d292016-06-02 14:46:10 +01001680 "src/crankshaft/arm64/delayed-masm-arm64-inl.h",
Ben Murdoch4a90d5f2016-03-22 12:00:34 +00001681 "src/crankshaft/arm64/delayed-masm-arm64.cc",
1682 "src/crankshaft/arm64/delayed-masm-arm64.h",
Ben Murdoch4a90d5f2016-03-22 12:00:34 +00001683 "src/crankshaft/arm64/lithium-arm64.cc",
1684 "src/crankshaft/arm64/lithium-arm64.h",
1685 "src/crankshaft/arm64/lithium-codegen-arm64.cc",
1686 "src/crankshaft/arm64/lithium-codegen-arm64.h",
1687 "src/crankshaft/arm64/lithium-gap-resolver-arm64.cc",
1688 "src/crankshaft/arm64/lithium-gap-resolver-arm64.h",
1689 "src/debug/arm64/debug-arm64.cc",
1690 "src/full-codegen/arm64/full-codegen-arm64.cc",
Ben Murdochb8a8cc12014-11-26 15:28:44 +00001691 "src/ic/arm64/access-compiler-arm64.cc",
1692 "src/ic/arm64/handler-compiler-arm64.cc",
1693 "src/ic/arm64/ic-arm64.cc",
1694 "src/ic/arm64/ic-compiler-arm64.cc",
1695 "src/ic/arm64/stub-cache-arm64.cc",
Ben Murdoch4a90d5f2016-03-22 12:00:34 +00001696 "src/regexp/arm64/regexp-macro-assembler-arm64.cc",
1697 "src/regexp/arm64/regexp-macro-assembler-arm64.h",
Ben Murdochb8a8cc12014-11-26 15:28:44 +00001698 ]
Ben Murdoch61f157c2016-09-16 13:49:30 +01001699 } else if (v8_target_cpu == "mipsel") {
Ben Murdochb8a8cc12014-11-26 15:28:44 +00001700 sources += [
Ben Murdoch4a90d5f2016-03-22 12:00:34 +00001701 "src/compiler/mips/code-generator-mips.cc",
1702 "src/compiler/mips/instruction-codes-mips.h",
1703 "src/compiler/mips/instruction-scheduler-mips.cc",
1704 "src/compiler/mips/instruction-selector-mips.cc",
1705 "src/crankshaft/mips/lithium-codegen-mips.cc",
1706 "src/crankshaft/mips/lithium-codegen-mips.h",
1707 "src/crankshaft/mips/lithium-gap-resolver-mips.cc",
1708 "src/crankshaft/mips/lithium-gap-resolver-mips.h",
1709 "src/crankshaft/mips/lithium-mips.cc",
1710 "src/crankshaft/mips/lithium-mips.h",
1711 "src/debug/mips/debug-mips.cc",
1712 "src/full-codegen/mips/full-codegen-mips.cc",
1713 "src/ic/mips/access-compiler-mips.cc",
1714 "src/ic/mips/handler-compiler-mips.cc",
Ben Murdoch4a90d5f2016-03-22 12:00:34 +00001715 "src/ic/mips/ic-compiler-mips.cc",
Ben Murdochda12d292016-06-02 14:46:10 +01001716 "src/ic/mips/ic-mips.cc",
Ben Murdoch4a90d5f2016-03-22 12:00:34 +00001717 "src/ic/mips/stub-cache-mips.cc",
Ben Murdochda12d292016-06-02 14:46:10 +01001718 "src/mips/assembler-mips-inl.h",
Ben Murdochb8a8cc12014-11-26 15:28:44 +00001719 "src/mips/assembler-mips.cc",
1720 "src/mips/assembler-mips.h",
Ben Murdochb8a8cc12014-11-26 15:28:44 +00001721 "src/mips/builtins-mips.cc",
Ben Murdochb8a8cc12014-11-26 15:28:44 +00001722 "src/mips/code-stubs-mips.cc",
1723 "src/mips/code-stubs-mips.h",
Ben Murdochda12d292016-06-02 14:46:10 +01001724 "src/mips/codegen-mips.cc",
1725 "src/mips/codegen-mips.h",
Ben Murdochb8a8cc12014-11-26 15:28:44 +00001726 "src/mips/constants-mips.cc",
1727 "src/mips/constants-mips.h",
1728 "src/mips/cpu-mips.cc",
Ben Murdochb8a8cc12014-11-26 15:28:44 +00001729 "src/mips/deoptimizer-mips.cc",
1730 "src/mips/disasm-mips.cc",
1731 "src/mips/frames-mips.cc",
1732 "src/mips/frames-mips.h",
Ben Murdochb8a8cc12014-11-26 15:28:44 +00001733 "src/mips/interface-descriptors-mips.cc",
Ben Murdochb8a8cc12014-11-26 15:28:44 +00001734 "src/mips/macro-assembler-mips.cc",
1735 "src/mips/macro-assembler-mips.h",
Ben Murdochb8a8cc12014-11-26 15:28:44 +00001736 "src/mips/simulator-mips.cc",
Ben Murdoch4a90d5f2016-03-22 12:00:34 +00001737 "src/mips/simulator-mips.h",
1738 "src/regexp/mips/regexp-macro-assembler-mips.cc",
1739 "src/regexp/mips/regexp-macro-assembler-mips.h",
Ben Murdochb8a8cc12014-11-26 15:28:44 +00001740 ]
Ben Murdoch61f157c2016-09-16 13:49:30 +01001741 } else if (v8_target_cpu == "mips64el") {
Ben Murdochb8a8cc12014-11-26 15:28:44 +00001742 sources += [
Ben Murdochc5610432016-08-08 18:44:38 +01001743 "src/compiler/mips64/code-generator-mips64.cc",
1744 "src/compiler/mips64/instruction-codes-mips64.h",
1745 "src/compiler/mips64/instruction-scheduler-mips64.cc",
1746 "src/compiler/mips64/instruction-selector-mips64.cc",
Ben Murdoch4a90d5f2016-03-22 12:00:34 +00001747 "src/crankshaft/mips64/lithium-codegen-mips64.cc",
1748 "src/crankshaft/mips64/lithium-codegen-mips64.h",
1749 "src/crankshaft/mips64/lithium-gap-resolver-mips64.cc",
1750 "src/crankshaft/mips64/lithium-gap-resolver-mips64.h",
1751 "src/crankshaft/mips64/lithium-mips64.cc",
1752 "src/crankshaft/mips64/lithium-mips64.h",
1753 "src/debug/mips64/debug-mips64.cc",
1754 "src/full-codegen/mips64/full-codegen-mips64.cc",
1755 "src/ic/mips64/access-compiler-mips64.cc",
1756 "src/ic/mips64/handler-compiler-mips64.cc",
Ben Murdoch4a90d5f2016-03-22 12:00:34 +00001757 "src/ic/mips64/ic-compiler-mips64.cc",
Ben Murdochda12d292016-06-02 14:46:10 +01001758 "src/ic/mips64/ic-mips64.cc",
Ben Murdoch4a90d5f2016-03-22 12:00:34 +00001759 "src/ic/mips64/stub-cache-mips64.cc",
Ben Murdochda12d292016-06-02 14:46:10 +01001760 "src/mips64/assembler-mips64-inl.h",
Ben Murdochb8a8cc12014-11-26 15:28:44 +00001761 "src/mips64/assembler-mips64.cc",
1762 "src/mips64/assembler-mips64.h",
Ben Murdochb8a8cc12014-11-26 15:28:44 +00001763 "src/mips64/builtins-mips64.cc",
Ben Murdochb8a8cc12014-11-26 15:28:44 +00001764 "src/mips64/code-stubs-mips64.cc",
1765 "src/mips64/code-stubs-mips64.h",
Ben Murdochda12d292016-06-02 14:46:10 +01001766 "src/mips64/codegen-mips64.cc",
1767 "src/mips64/codegen-mips64.h",
Ben Murdochb8a8cc12014-11-26 15:28:44 +00001768 "src/mips64/constants-mips64.cc",
1769 "src/mips64/constants-mips64.h",
1770 "src/mips64/cpu-mips64.cc",
Ben Murdochb8a8cc12014-11-26 15:28:44 +00001771 "src/mips64/deoptimizer-mips64.cc",
1772 "src/mips64/disasm-mips64.cc",
1773 "src/mips64/frames-mips64.cc",
1774 "src/mips64/frames-mips64.h",
Ben Murdochb8a8cc12014-11-26 15:28:44 +00001775 "src/mips64/interface-descriptors-mips64.cc",
Ben Murdochb8a8cc12014-11-26 15:28:44 +00001776 "src/mips64/macro-assembler-mips64.cc",
1777 "src/mips64/macro-assembler-mips64.h",
Ben Murdochb8a8cc12014-11-26 15:28:44 +00001778 "src/mips64/simulator-mips64.cc",
Ben Murdoch4a90d5f2016-03-22 12:00:34 +00001779 "src/mips64/simulator-mips64.h",
1780 "src/regexp/mips64/regexp-macro-assembler-mips64.cc",
1781 "src/regexp/mips64/regexp-macro-assembler-mips64.h",
Ben Murdochb8a8cc12014-11-26 15:28:44 +00001782 ]
Ben Murdoch61f157c2016-09-16 13:49:30 +01001783 } else if (v8_target_cpu == "s390" || v8_target_cpu == "s390x") {
Ben Murdochda12d292016-06-02 14:46:10 +01001784 sources += [
1785 "src/compiler/s390/code-generator-s390.cc",
1786 "src/compiler/s390/instruction-codes-s390.h",
1787 "src/compiler/s390/instruction-scheduler-s390.cc",
1788 "src/compiler/s390/instruction-selector-s390.cc",
1789 "src/crankshaft/s390/lithium-codegen-s390.cc",
1790 "src/crankshaft/s390/lithium-codegen-s390.h",
1791 "src/crankshaft/s390/lithium-gap-resolver-s390.cc",
1792 "src/crankshaft/s390/lithium-gap-resolver-s390.h",
1793 "src/crankshaft/s390/lithium-s390.cc",
1794 "src/crankshaft/s390/lithium-s390.h",
1795 "src/debug/s390/debug-s390.cc",
1796 "src/full-codegen/s390/full-codegen-s390.cc",
1797 "src/ic/s390/access-compiler-s390.cc",
1798 "src/ic/s390/handler-compiler-s390.cc",
1799 "src/ic/s390/ic-compiler-s390.cc",
1800 "src/ic/s390/ic-s390.cc",
1801 "src/ic/s390/stub-cache-s390.cc",
1802 "src/regexp/s390/regexp-macro-assembler-s390.cc",
1803 "src/regexp/s390/regexp-macro-assembler-s390.h",
1804 "src/s390/assembler-s390-inl.h",
1805 "src/s390/assembler-s390.cc",
1806 "src/s390/assembler-s390.h",
1807 "src/s390/builtins-s390.cc",
1808 "src/s390/code-stubs-s390.cc",
1809 "src/s390/code-stubs-s390.h",
1810 "src/s390/codegen-s390.cc",
1811 "src/s390/codegen-s390.h",
1812 "src/s390/constants-s390.cc",
1813 "src/s390/constants-s390.h",
1814 "src/s390/cpu-s390.cc",
1815 "src/s390/deoptimizer-s390.cc",
1816 "src/s390/disasm-s390.cc",
1817 "src/s390/frames-s390.cc",
1818 "src/s390/frames-s390.h",
1819 "src/s390/interface-descriptors-s390.cc",
1820 "src/s390/macro-assembler-s390.cc",
1821 "src/s390/macro-assembler-s390.h",
1822 "src/s390/simulator-s390.cc",
1823 "src/s390/simulator-s390.h",
1824 ]
Ben Murdochb8a8cc12014-11-26 15:28:44 +00001825 }
1826
Ben Murdochc5610432016-08-08 18:44:38 +01001827 configs = [ ":internal_config" ]
Ben Murdochb8a8cc12014-11-26 15:28:44 +00001828
1829 defines = []
Ben Murdoch4a90d5f2016-03-22 12:00:34 +00001830 deps = [
1831 ":v8_libbase",
Ben Murdoch61f157c2016-09-16 13:49:30 +01001832 ":v8_libsampler",
Ben Murdoch4a90d5f2016-03-22 12:00:34 +00001833 ]
Ben Murdochb8a8cc12014-11-26 15:28:44 +00001834
1835 if (is_win) {
1836 # TODO(jschuh): crbug.com/167187 fix size_t to int truncations.
1837 cflags = [ "/wd4267" ]
1838 }
Ben Murdochb8a8cc12014-11-26 15:28:44 +00001839
1840 if (v8_enable_i18n_support) {
1841 deps += [ "//third_party/icu" ]
1842 if (is_win) {
1843 deps += [ "//third_party/icu:icudata" ]
1844 }
Ben Murdochb8a8cc12014-11-26 15:28:44 +00001845 } else {
1846 sources -= [
1847 "src/i18n.cc",
1848 "src/i18n.h",
1849 ]
1850 }
1851
1852 if (v8_postmortem_support) {
1853 sources += [ "$target_gen_dir/debug-support.cc" ]
1854 deps += [ ":postmortem-metadata" ]
1855 }
1856}
1857
Ben Murdochc5610432016-08-08 18:44:38 +01001858v8_source_set("v8_libbase") {
Ben Murdochb8a8cc12014-11-26 15:28:44 +00001859 visibility = [ ":*" ] # Only targets in this file can depend on this.
1860
1861 sources = [
Ben Murdochda12d292016-06-02 14:46:10 +01001862 "src/base/accounting-allocator.cc",
1863 "src/base/accounting-allocator.h",
Ben Murdoch4a90d5f2016-03-22 12:00:34 +00001864 "src/base/adapters.h",
Ben Murdochc5610432016-08-08 18:44:38 +01001865 "src/base/atomic-utils.h",
Ben Murdochb8a8cc12014-11-26 15:28:44 +00001866 "src/base/atomicops.h",
1867 "src/base/atomicops_internals_arm64_gcc.h",
1868 "src/base/atomicops_internals_arm_gcc.h",
1869 "src/base/atomicops_internals_atomicword_compat.h",
1870 "src/base/atomicops_internals_mac.h",
Ben Murdoch4a90d5f2016-03-22 12:00:34 +00001871 "src/base/atomicops_internals_mips64_gcc.h",
Ben Murdochda12d292016-06-02 14:46:10 +01001872 "src/base/atomicops_internals_mips_gcc.h",
Ben Murdoch4a90d5f2016-03-22 12:00:34 +00001873 "src/base/atomicops_internals_portable.h",
Ben Murdoch097c5b22016-05-18 11:27:45 +01001874 "src/base/atomicops_internals_s390_gcc.h",
Ben Murdochb8a8cc12014-11-26 15:28:44 +00001875 "src/base/atomicops_internals_tsan.h",
1876 "src/base/atomicops_internals_x86_gcc.cc",
1877 "src/base/atomicops_internals_x86_gcc.h",
1878 "src/base/atomicops_internals_x86_msvc.h",
1879 "src/base/bits.cc",
1880 "src/base/bits.h",
1881 "src/base/build_config.h",
1882 "src/base/cpu.cc",
1883 "src/base/cpu.h",
1884 "src/base/division-by-constant.cc",
1885 "src/base/division-by-constant.h",
Ben Murdoch61f157c2016-09-16 13:49:30 +01001886 "src/base/file-utils.cc",
1887 "src/base/file-utils.h",
Ben Murdochb8a8cc12014-11-26 15:28:44 +00001888 "src/base/flags.h",
Ben Murdochc5610432016-08-08 18:44:38 +01001889 "src/base/format-macros.h",
Emily Bernierd0a1eb72015-03-24 16:35:39 -04001890 "src/base/functional.cc",
1891 "src/base/functional.h",
Ben Murdoch61f157c2016-09-16 13:49:30 +01001892 "src/base/hashmap.h",
1893 "src/base/ieee754.cc",
1894 "src/base/ieee754.h",
Emily Bernierd0a1eb72015-03-24 16:35:39 -04001895 "src/base/iterator.h",
Ben Murdochb8a8cc12014-11-26 15:28:44 +00001896 "src/base/lazy-instance.h",
1897 "src/base/logging.cc",
1898 "src/base/logging.h",
1899 "src/base/macros.h",
1900 "src/base/once.cc",
1901 "src/base/once.h",
Ben Murdochb8a8cc12014-11-26 15:28:44 +00001902 "src/base/platform/condition-variable.cc",
1903 "src/base/platform/condition-variable.h",
Ben Murdochda12d292016-06-02 14:46:10 +01001904 "src/base/platform/elapsed-timer.h",
Ben Murdochb8a8cc12014-11-26 15:28:44 +00001905 "src/base/platform/mutex.cc",
1906 "src/base/platform/mutex.h",
1907 "src/base/platform/platform.h",
1908 "src/base/platform/semaphore.cc",
1909 "src/base/platform/semaphore.h",
Ben Murdochda12d292016-06-02 14:46:10 +01001910 "src/base/platform/time.cc",
1911 "src/base/platform/time.h",
Ben Murdochb8a8cc12014-11-26 15:28:44 +00001912 "src/base/safe_conversions.h",
1913 "src/base/safe_conversions_impl.h",
1914 "src/base/safe_math.h",
1915 "src/base/safe_math_impl.h",
Ben Murdoch4a90d5f2016-03-22 12:00:34 +00001916 "src/base/smart-pointers.h",
Ben Murdochb8a8cc12014-11-26 15:28:44 +00001917 "src/base/sys-info.cc",
1918 "src/base/sys-info.h",
1919 "src/base/utils/random-number-generator.cc",
1920 "src/base/utils/random-number-generator.h",
1921 ]
1922
Ben Murdochc5610432016-08-08 18:44:38 +01001923 configs = [ ":internal_config_base" ]
Ben Murdochb8a8cc12014-11-26 15:28:44 +00001924
1925 defines = []
1926
1927 if (is_posix) {
Ben Murdoch4a90d5f2016-03-22 12:00:34 +00001928 sources += [ "src/base/platform/platform-posix.cc" ]
Ben Murdochb8a8cc12014-11-26 15:28:44 +00001929 }
1930
1931 if (is_linux) {
Ben Murdoch4a90d5f2016-03-22 12:00:34 +00001932 sources += [ "src/base/platform/platform-linux.cc" ]
Ben Murdochb8a8cc12014-11-26 15:28:44 +00001933
Ben Murdochda12d292016-06-02 14:46:10 +01001934 libs = [
1935 "dl",
1936 "rt",
1937 ]
Ben Murdochb8a8cc12014-11-26 15:28:44 +00001938 } else if (is_android) {
Ben Murdoch4a90d5f2016-03-22 12:00:34 +00001939 if (current_toolchain == host_toolchain) {
Ben Murdochda12d292016-06-02 14:46:10 +01001940 libs = [
1941 "dl",
1942 "rt",
1943 ]
Ben Murdoch4a90d5f2016-03-22 12:00:34 +00001944 if (host_os == "mac") {
Ben Murdochb8a8cc12014-11-26 15:28:44 +00001945 sources += [ "src/base/platform/platform-macos.cc" ]
1946 } else {
1947 sources += [ "src/base/platform/platform-linux.cc" ]
1948 }
1949 } else {
1950 sources += [ "src/base/platform/platform-linux.cc" ]
Ben Murdochb8a8cc12014-11-26 15:28:44 +00001951 }
1952 } else if (is_mac) {
1953 sources += [ "src/base/platform/platform-macos.cc" ]
1954 } else if (is_win) {
1955 # TODO(jochen): Add support for cygwin.
1956 sources += [
1957 "src/base/platform/platform-win32.cc",
1958 "src/base/win32-headers.h",
Ben Murdochb8a8cc12014-11-26 15:28:44 +00001959 ]
1960
1961 defines += [ "_CRT_RAND_S" ] # for rand_s()
1962
Ben Murdoch4a90d5f2016-03-22 12:00:34 +00001963 libs = [
1964 "winmm.lib",
1965 "ws2_32.lib",
1966 ]
Ben Murdochb8a8cc12014-11-26 15:28:44 +00001967 }
1968
1969 # TODO(jochen): Add support for qnx, freebsd, openbsd, netbsd, and solaris.
1970}
1971
Ben Murdochc5610432016-08-08 18:44:38 +01001972v8_source_set("v8_libplatform") {
Ben Murdochb8a8cc12014-11-26 15:28:44 +00001973 sources = [
1974 "include/libplatform/libplatform.h",
1975 "src/libplatform/default-platform.cc",
1976 "src/libplatform/default-platform.h",
1977 "src/libplatform/task-queue.cc",
1978 "src/libplatform/task-queue.h",
1979 "src/libplatform/worker-thread.cc",
1980 "src/libplatform/worker-thread.h",
1981 ]
1982
Ben Murdochc5610432016-08-08 18:44:38 +01001983 configs = [ ":internal_config_base" ]
Ben Murdochb8a8cc12014-11-26 15:28:44 +00001984
Ben Murdochc5610432016-08-08 18:44:38 +01001985 public_configs = [ ":libplatform_config" ]
Ben Murdochb8a8cc12014-11-26 15:28:44 +00001986
1987 deps = [
1988 ":v8_libbase",
1989 ]
1990}
1991
Ben Murdoch61f157c2016-09-16 13:49:30 +01001992v8_source_set("v8_libsampler") {
1993 sources = [
1994 "src/libsampler/v8-sampler.cc",
1995 "src/libsampler/v8-sampler.h",
1996 ]
1997
1998 configs = [ ":internal_config_base" ]
1999
2000 public_configs = [ ":libsampler_config" ]
2001
2002 deps = [
2003 ":v8_libbase",
2004 ]
2005}
2006
Ben Murdochc5610432016-08-08 18:44:38 +01002007v8_source_set("fuzzer_support") {
Ben Murdoch097c5b22016-05-18 11:27:45 +01002008 visibility = [ ":*" ] # Only targets in this file can depend on this.
2009
2010 sources = [
2011 "test/fuzzer/fuzzer-support.cc",
2012 "test/fuzzer/fuzzer-support.h",
2013 ]
2014
Ben Murdochc5610432016-08-08 18:44:38 +01002015 configs = [ ":internal_config_base" ]
Ben Murdoch097c5b22016-05-18 11:27:45 +01002016
2017 deps = [
Ben Murdoch61f157c2016-09-16 13:49:30 +01002018 ":v8_maybe_snapshot",
Ben Murdoch097c5b22016-05-18 11:27:45 +01002019 ]
Ben Murdochc5610432016-08-08 18:44:38 +01002020
2021 public_deps = [
2022 ":v8_libplatform",
2023 ]
Ben Murdoch097c5b22016-05-18 11:27:45 +01002024}
2025
Ben Murdoch61f157c2016-09-16 13:49:30 +01002026v8_source_set("simple_fuzzer") {
2027 sources = [
2028 "test/fuzzer/fuzzer.cc",
2029 ]
2030
2031 configs = [ ":internal_config_base" ]
2032}
2033
Ben Murdochb8a8cc12014-11-26 15:28:44 +00002034###############################################################################
2035# Executables
2036#
2037
Ben Murdoch61f157c2016-09-16 13:49:30 +01002038if (current_toolchain == v8_snapshot_toolchain) {
2039 v8_executable("mksnapshot") {
Ben Murdochb8a8cc12014-11-26 15:28:44 +00002040 visibility = [ ":*" ] # Only targets in this file can depend on this.
2041
2042 sources = [
Ben Murdoch4a90d5f2016-03-22 12:00:34 +00002043 "src/snapshot/mksnapshot.cc",
Ben Murdochb8a8cc12014-11-26 15:28:44 +00002044 ]
2045
Ben Murdoch61f157c2016-09-16 13:49:30 +01002046 configs = [ ":internal_config" ]
Ben Murdochb8a8cc12014-11-26 15:28:44 +00002047
2048 deps = [
2049 ":v8_base",
2050 ":v8_libplatform",
2051 ":v8_nosnapshot",
Emily Bernierd0a1eb72015-03-24 16:35:39 -04002052 "//build/config/sanitizers:deps",
Ben Murdochc5610432016-08-08 18:44:38 +01002053 "//build/win:default_exe_manifest",
Ben Murdochb8a8cc12014-11-26 15:28:44 +00002054 ]
Ben Murdochb8a8cc12014-11-26 15:28:44 +00002055 }
2056}
2057
2058###############################################################################
2059# Public targets
2060#
2061
Ben Murdoch61f157c2016-09-16 13:49:30 +01002062want_v8_shell =
2063 (current_toolchain == host_toolchain && v8_toolset_for_shell == "host") ||
2064 (current_toolchain == v8_snapshot_toolchain &&
2065 v8_toolset_for_shell == "host") ||
2066 (current_toolchain != host_toolchain && v8_toolset_for_shell == "target")
2067
2068group("gn_all") {
2069 testonly = true
2070
2071 deps = [
2072 ":d8",
2073 ":v8_hello_world",
2074 ":v8_parser_shell",
2075 ":v8_sample_process",
2076 ":v8_simple_json_fuzzer",
2077 ":v8_simple_parser_fuzzer",
2078 ":v8_simple_regexp_fuzzer",
2079 ":v8_simple_wasm_asmjs_fuzzer",
2080 ":v8_simple_wasm_fuzzer",
2081 "test:gn_all",
2082 "tools:gn_all",
2083 ]
2084
2085 if (want_v8_shell) {
2086 deps += [ ":v8_shell" ]
2087 }
2088
2089 if (v8_test_isolation_mode != "noop") {
2090 deps += [ ":d8_run" ]
2091 }
2092}
2093
Ben Murdoch4a90d5f2016-03-22 12:00:34 +00002094if (is_component_build) {
Ben Murdoch61f157c2016-09-16 13:49:30 +01002095 v8_component("v8") {
Ben Murdoch4a90d5f2016-03-22 12:00:34 +00002096 sources = [
2097 "src/v8dll-main.cc",
2098 ]
2099
2100 public_deps = [
2101 ":v8_base",
Ben Murdoch61f157c2016-09-16 13:49:30 +01002102 ":v8_maybe_snapshot",
Ben Murdoch4a90d5f2016-03-22 12:00:34 +00002103 ]
2104
Ben Murdoch61f157c2016-09-16 13:49:30 +01002105 configs = [ ":internal_config" ]
Ben Murdoch4a90d5f2016-03-22 12:00:34 +00002106
2107 public_configs = [ ":external_config" ]
Ben Murdoch4a90d5f2016-03-22 12:00:34 +00002108 }
2109} else {
2110 group("v8") {
2111 public_deps = [
2112 ":v8_base",
Ben Murdoch61f157c2016-09-16 13:49:30 +01002113 ":v8_maybe_snapshot",
Ben Murdoch4a90d5f2016-03-22 12:00:34 +00002114 ]
2115 public_configs = [ ":external_config" ]
2116 }
2117}
2118
Ben Murdoch61f157c2016-09-16 13:49:30 +01002119v8_executable("d8") {
Ben Murdochc5610432016-08-08 18:44:38 +01002120 sources = [
2121 "src/d8.cc",
2122 "src/d8.h",
2123 ]
2124
Ben Murdoch61f157c2016-09-16 13:49:30 +01002125 configs = [
Ben Murdochc5610432016-08-08 18:44:38 +01002126 # Note: don't use :internal_config here because this target will get
2127 # the :external_config applied to it by virtue of depending on :v8, and
2128 # you can't have both applied to the same target.
2129 ":internal_config_base",
Ben Murdochc5610432016-08-08 18:44:38 +01002130 ]
2131
2132 deps = [
2133 ":d8_js2c",
2134 ":v8",
2135 ":v8_libplatform",
2136 "//build/config/sanitizers:deps",
2137 "//build/win:default_exe_manifest",
2138 ]
2139
2140 # TODO(jochen): Add support for vtunejit.
2141
2142 if (is_posix) {
2143 sources += [ "src/d8-posix.cc" ]
2144 } else if (is_win) {
2145 sources += [ "src/d8-windows.cc" ]
2146 }
2147
2148 if (!is_component_build) {
2149 sources += [ "$target_gen_dir/d8-js.cc" ]
2150 }
2151 if (v8_enable_i18n_support) {
2152 deps += [ "//third_party/icu" ]
2153 }
2154}
2155
Ben Murdoch61f157c2016-09-16 13:49:30 +01002156v8_isolate_run("d8") {
2157 deps = [
2158 ":d8",
2159 ]
2160
2161 isolate = "//src/d8.isolate"
2162}
2163
2164v8_executable("v8_hello_world") {
2165 sources = [
2166 "samples/hello-world.cc",
2167 ]
2168
2169 configs = [
2170 # Note: don't use :internal_config here because this target will get
2171 # the :external_config applied to it by virtue of depending on :v8, and
2172 # you can't have both applied to the same target.
2173 ":internal_config_base",
2174 ]
2175
2176 deps = [
2177 ":v8",
2178 ":v8_libplatform",
2179 "//build/config/sanitizers:deps",
2180 "//build/win:default_exe_manifest",
2181 ]
2182
2183 if (v8_enable_i18n_support) {
2184 deps += [ "//third_party/icu" ]
2185 }
2186}
2187
2188v8_executable("v8_sample_process") {
2189 sources = [
2190 "samples/process.cc",
2191 ]
2192
2193 configs = [
2194 # Note: don't use :internal_config here because this target will get
2195 # the :external_config applied to it by virtue of depending on :v8, and
2196 # you can't have both applied to the same target.
2197 ":internal_config_base",
2198 ]
2199
2200 deps = [
2201 ":v8",
2202 ":v8_libplatform",
2203 "//build/config/sanitizers:deps",
2204 "//build/win:default_exe_manifest",
2205 ]
2206
2207 if (v8_enable_i18n_support) {
2208 deps += [ "//third_party/icu" ]
2209 }
2210}
2211
2212v8_executable("v8_parser_shell") {
2213 sources = [
2214 "tools/parser-shell.cc",
2215 "tools/shell-utils.h",
2216 ]
2217
2218 configs = [
2219 ":external_config",
2220 ":internal_config_base",
2221 ]
2222
2223 deps = [
2224 ":v8_libplatform",
2225 "//build/config/sanitizers:deps",
2226 "//build/win:default_exe_manifest",
2227 ]
2228
2229 if (is_component_build) {
2230 # v8_parser_shell can't be built against a shared library, so we
2231 # need to depend on the underlying static target in that case.
2232 deps += [ ":v8_maybe_snapshot" ]
2233 } else {
2234 deps += [ ":v8" ]
2235 }
2236
2237 if (v8_enable_i18n_support) {
2238 deps += [ "//third_party/icu" ]
2239 }
2240}
2241
2242if (want_v8_shell) {
2243 v8_executable("v8_shell") {
Ben Murdoch4a90d5f2016-03-22 12:00:34 +00002244 sources = [
Ben Murdochc5610432016-08-08 18:44:38 +01002245 "samples/shell.cc",
Ben Murdoch4a90d5f2016-03-22 12:00:34 +00002246 ]
2247
Ben Murdoch61f157c2016-09-16 13:49:30 +01002248 configs = [
Ben Murdoch4a90d5f2016-03-22 12:00:34 +00002249 # Note: don't use :internal_config here because this target will get
2250 # the :external_config applied to it by virtue of depending on :v8, and
2251 # you can't have both applied to the same target.
2252 ":internal_config_base",
Ben Murdoch4a90d5f2016-03-22 12:00:34 +00002253 ]
2254
2255 deps = [
Ben Murdoch4a90d5f2016-03-22 12:00:34 +00002256 ":v8",
2257 ":v8_libplatform",
2258 "//build/config/sanitizers:deps",
Ben Murdochc5610432016-08-08 18:44:38 +01002259 "//build/win:default_exe_manifest",
Ben Murdoch4a90d5f2016-03-22 12:00:34 +00002260 ]
2261
Ben Murdoch4a90d5f2016-03-22 12:00:34 +00002262 if (v8_enable_i18n_support) {
2263 deps += [ "//third_party/icu" ]
2264 }
2265 }
Ben Murdochb8a8cc12014-11-26 15:28:44 +00002266}
Ben Murdoch097c5b22016-05-18 11:27:45 +01002267
Ben Murdoch61f157c2016-09-16 13:49:30 +01002268template("v8_fuzzer") {
2269 name = target_name
2270 forward_variables_from(invoker, "*")
2271 v8_executable("v8_simple_" + name) {
2272 deps = [
2273 ":" + name,
2274 ":simple_fuzzer",
2275 "//build/win:default_exe_manifest",
2276 ]
2277
2278 configs = [ ":external_config" ]
2279 }
2280}
2281
Ben Murdochc5610432016-08-08 18:44:38 +01002282v8_source_set("json_fuzzer") {
Ben Murdoch097c5b22016-05-18 11:27:45 +01002283 sources = [
2284 "test/fuzzer/json.cc",
2285 ]
2286
2287 deps = [
2288 ":fuzzer_support",
2289 ]
2290
Ben Murdochc5610432016-08-08 18:44:38 +01002291 configs = [ ":internal_config" ]
Ben Murdoch097c5b22016-05-18 11:27:45 +01002292}
2293
Ben Murdoch61f157c2016-09-16 13:49:30 +01002294v8_fuzzer("json_fuzzer") {
2295}
2296
Ben Murdochc5610432016-08-08 18:44:38 +01002297v8_source_set("parser_fuzzer") {
Ben Murdoch097c5b22016-05-18 11:27:45 +01002298 sources = [
2299 "test/fuzzer/parser.cc",
2300 ]
2301
2302 deps = [
2303 ":fuzzer_support",
2304 ]
2305
Ben Murdochc5610432016-08-08 18:44:38 +01002306 configs = [ ":internal_config" ]
Ben Murdoch097c5b22016-05-18 11:27:45 +01002307}
2308
Ben Murdoch61f157c2016-09-16 13:49:30 +01002309v8_fuzzer("parser_fuzzer") {
2310}
2311
Ben Murdochc5610432016-08-08 18:44:38 +01002312v8_source_set("regexp_fuzzer") {
Ben Murdoch097c5b22016-05-18 11:27:45 +01002313 sources = [
2314 "test/fuzzer/regexp.cc",
2315 ]
2316
2317 deps = [
2318 ":fuzzer_support",
2319 ]
2320
Ben Murdochc5610432016-08-08 18:44:38 +01002321 configs = [ ":internal_config" ]
Ben Murdochda12d292016-06-02 14:46:10 +01002322}
2323
Ben Murdoch61f157c2016-09-16 13:49:30 +01002324v8_fuzzer("regexp_fuzzer") {
2325}
2326
Ben Murdochc5610432016-08-08 18:44:38 +01002327v8_source_set("wasm_fuzzer") {
Ben Murdochda12d292016-06-02 14:46:10 +01002328 sources = [
2329 "test/fuzzer/wasm.cc",
2330 ]
2331
2332 deps = [
2333 ":fuzzer_support",
2334 ]
2335
Ben Murdochc5610432016-08-08 18:44:38 +01002336 configs = [ ":internal_config" ]
Ben Murdochda12d292016-06-02 14:46:10 +01002337}
2338
Ben Murdoch61f157c2016-09-16 13:49:30 +01002339v8_fuzzer("wasm_fuzzer") {
2340}
2341
Ben Murdochc5610432016-08-08 18:44:38 +01002342v8_source_set("wasm_asmjs_fuzzer") {
Ben Murdochda12d292016-06-02 14:46:10 +01002343 sources = [
2344 "test/fuzzer/wasm-asmjs.cc",
2345 ]
2346
2347 deps = [
2348 ":fuzzer_support",
2349 ]
2350
Ben Murdochc5610432016-08-08 18:44:38 +01002351 configs = [ ":internal_config" ]
Ben Murdoch097c5b22016-05-18 11:27:45 +01002352}
Ben Murdoch61f157c2016-09-16 13:49:30 +01002353
2354v8_fuzzer("wasm_asmjs_fuzzer") {
2355}