1 # 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 5 import("//build/config/android/config.gni") 6 import("//build/config/arm.gni") 7 import("//build/config/dcheck_always_on.gni") 8 import("//build/config/mips.gni") 9 import("//build/config/sanitizers/sanitizers.gni") 10 11 if (is_android) { 12 import("//build/config/android/rules.gni") 13 } 14 15 import("gni/v8.gni") 16 import("gni/isolate.gni") 17 import("snapshot_toolchain.gni") 18 19 declare_args() { 20 # Print to stdout on Android. 21 v8_android_log_stdout = false 22 23 # Sets -DVERIFY_HEAP. 24 v8_enable_verify_heap = "" 25 26 # Sets -DVERIFY_PREDICTABLE 27 v8_enable_verify_predictable = false 28 29 # Enable compiler warnings when using V8_DEPRECATED apis. 30 v8_deprecation_warnings = false 31 32 # Enable compiler warnings when using V8_DEPRECATE_SOON apis. 33 v8_imminent_deprecation_warnings = false 34 35 # Embeds the given script into the snapshot. 36 v8_embed_script = "" 37 38 # Sets -dENABLE_DISASSEMBLER. 39 v8_enable_disassembler = "" 40 41 # Sets -dENABLE_GDB_JIT_INTERFACE. 42 v8_enable_gdbjit = "" 43 44 # Sets -dENABLE_VTUNE_JIT_INTERFACE. 45 v8_enable_vtunejit = false 46 47 # Sets -dENABLE_HANDLE_ZAPPING. 48 v8_enable_handle_zapping = is_debug 49 50 # Enable slow dchecks. 51 v8_enable_slow_dchecks = false 52 53 # Enable code-generation-time checking of types in the CodeStubAssembler. 54 v8_enable_verify_csa = false 55 56 # Interpreted regexp engine exists as platform-independent alternative 57 # based where the regular expression is compiled to a bytecode. 58 v8_interpreted_regexp = false 59 60 # Sets -dOBJECT_PRINT. 61 v8_enable_object_print = "" 62 63 # Sets -dTRACE_MAPS. 64 v8_enable_trace_maps = "" 65 66 # Sets -dV8_ENABLE_CHECKS. 67 v8_enable_v8_checks = "" 68 69 # With post mortem support enabled, metadata is embedded into libv8 that 70 # describes various parameters of the VM for use by debuggers. See 71 # tools/gen-postmortem-metadata.py for details. 72 v8_postmortem_support = false 73 74 # Switches off inlining in V8. 75 v8_no_inline = false 76 77 # Override OS page size when generating snapshot 78 v8_os_page_size = "0" 79 80 # Similar to vfp but on MIPS. 81 v8_can_use_fpu_instructions = true 82 83 # Similar to the ARM hard float ABI but on MIPS. 84 v8_use_mips_abi_hardfloat = true 85 86 # List of extra files to snapshot. They will be snapshotted in order so 87 # if files export symbols used by later files, they should go first. 88 # 89 # This default is used by cctests. Projects using V8 will want to override. 90 v8_extra_library_files = [ "//test/cctest/test-extra.js" ] 91 92 # Like v8_extra_library_files but for experimental features. 93 # 94 # This default is used by cctests. Projects using V8 will want to override. 95 v8_experimental_extra_library_files = 96 [ "//test/cctest/test-experimental-extra.js" ] 97 98 v8_enable_gdbjit = ((v8_current_cpu == "x86" || v8_current_cpu == "x64" || 99 v8_current_cpu == "x87") && (is_linux || is_mac)) || 100 (v8_current_cpu == "ppc64" && is_linux) 101 } 102 103 # Derived defaults. 104 if (v8_enable_verify_heap == "") { 105 v8_enable_verify_heap = is_debug 106 } 107 if (v8_enable_object_print == "") { 108 v8_enable_object_print = is_debug 109 } 110 if (v8_enable_disassembler == "") { 111 v8_enable_disassembler = is_debug 112 } 113 if (v8_enable_trace_maps == "") { 114 v8_enable_trace_maps = is_debug 115 } 116 if (v8_enable_v8_checks == "") { 117 v8_enable_v8_checks = is_debug 118 } 119 120 # Specifies if the target build is a simulator build. Comparing target cpu 121 # with v8 target cpu to not affect simulator builds for making cross-compile 122 # snapshots. 123 is_target_simulator = target_cpu != v8_target_cpu 124 125 v8_generated_peephole_source = "$target_gen_dir/bytecode-peephole-table.cc" 126 v8_random_seed = "314159265" 127 v8_toolset_for_shell = "host" 128 129 ############################################################################### 130 # Configurations 131 # 132 config("internal_config") { 133 visibility = [ ":*" ] # Only targets in this file can depend on this. 134 135 include_dirs = [ "." ] 136 137 if (is_component_build) { 138 defines = [ "BUILDING_V8_SHARED" ] 139 } 140 } 141 142 config("internal_config_base") { 143 visibility = [ ":*" ] # Only targets in this file can depend on this. 144 145 include_dirs = [ "." ] 146 } 147 148 # This config should be applied to code using the libplatform. 149 config("libplatform_config") { 150 include_dirs = [ "include" ] 151 if (is_component_build) { 152 defines = [ "USING_V8_PLATFORM_SHARED" ] 153 } 154 } 155 156 # This config should be applied to code using the libbase. 157 config("libbase_config") { 158 if (is_component_build) { 159 defines = [ "USING_V8_BASE_SHARED" ] 160 } 161 libs = [] 162 if (is_android && current_toolchain != host_toolchain) { 163 libs += [ "log" ] 164 } 165 } 166 167 # This config should be applied to code using the libsampler. 168 config("libsampler_config") { 169 include_dirs = [ "include" ] 170 } 171 172 # This config should only be applied to code using V8 and not any V8 code 173 # itself. 174 config("external_config") { 175 if (is_component_build) { 176 defines = [ "USING_V8_SHARED" ] 177 } 178 include_dirs = [ "include" ] 179 if (v8_enable_inspector) { 180 include_dirs += [ "$target_gen_dir/include" ] 181 } 182 } 183 184 # This config should only be applied to code that needs to be explicitly 185 # aware of whether we are using startup data or not. 186 config("external_startup_data") { 187 if (v8_use_external_startup_data) { 188 defines = [ "V8_USE_EXTERNAL_STARTUP_DATA" ] 189 } 190 } 191 192 config("features") { 193 visibility = [ ":*" ] # Only targets in this file can depend on this. 194 195 defines = [] 196 197 if (v8_enable_disassembler) { 198 defines += [ "ENABLE_DISASSEMBLER" ] 199 } 200 if (v8_enable_gdbjit) { 201 defines += [ "ENABLE_GDB_JIT_INTERFACE" ] 202 } 203 if (v8_enable_vtunejit) { 204 defines += [ "ENABLE_VTUNE_JIT_INTERFACE" ] 205 } 206 if (v8_enable_object_print) { 207 defines += [ "OBJECT_PRINT" ] 208 } 209 if (v8_enable_verify_heap) { 210 defines += [ "VERIFY_HEAP" ] 211 } 212 if (v8_enable_verify_predictable) { 213 defines += [ "VERIFY_PREDICTABLE" ] 214 } 215 if (v8_enable_trace_maps) { 216 defines += [ "TRACE_MAPS" ] 217 } 218 if (v8_enable_v8_checks) { 219 defines += [ "V8_ENABLE_CHECKS" ] 220 } 221 if (v8_interpreted_regexp) { 222 defines += [ "V8_INTERPRETED_REGEXP" ] 223 } 224 if (v8_deprecation_warnings) { 225 defines += [ "V8_DEPRECATION_WARNINGS" ] 226 } 227 if (v8_imminent_deprecation_warnings) { 228 defines += [ "V8_IMMINENT_DEPRECATION_WARNINGS" ] 229 } 230 if (v8_enable_i18n_support) { 231 defines += [ "V8_I18N_SUPPORT" ] 232 } 233 if (v8_enable_handle_zapping) { 234 defines += [ "ENABLE_HANDLE_ZAPPING" ] 235 } 236 if (v8_use_external_startup_data) { 237 defines += [ "V8_USE_EXTERNAL_STARTUP_DATA" ] 238 } 239 } 240 241 config("toolchain") { 242 visibility = [ ":*" ] # Only targets in this file can depend on this. 243 244 defines = [] 245 cflags = [] 246 ldflags = [] 247 248 if (v8_current_cpu == "arm") { 249 defines += [ "V8_TARGET_ARCH_ARM" ] 250 if (arm_version >= 7) { 251 defines += [ "CAN_USE_ARMV7_INSTRUCTIONS" ] 252 } 253 if (arm_fpu == "vfpv3-d16") { 254 defines += [ "CAN_USE_VFP3_INSTRUCTIONS" ] 255 } else if (arm_fpu == "vfpv3") { 256 defines += [ 257 "CAN_USE_VFP3_INSTRUCTIONS", 258 "CAN_USE_VFP32DREGS", 259 ] 260 } else if (arm_fpu == "neon") { 261 defines += [ 262 "CAN_USE_VFP3_INSTRUCTIONS", 263 "CAN_USE_VFP32DREGS", 264 "CAN_USE_NEON", 265 ] 266 } 267 268 # TODO(jochen): Add support for arm_test_noprobe. 269 270 if (current_cpu != "arm") { 271 # These defines ares used for the ARM simulator. 272 if (arm_float_abi == "hard") { 273 defines += [ "USE_EABI_HARDFLOAT=1" ] 274 } else if (arm_float_abi == "softfp") { 275 defines += [ "USE_EABI_HARDFLOAT=0" ] 276 } 277 } 278 } 279 if (v8_current_cpu == "arm64") { 280 defines += [ "V8_TARGET_ARCH_ARM64" ] 281 } 282 283 # Mips64el/mipsel simulators. 284 if (is_target_simulator && 285 (v8_current_cpu == "mipsel" || v8_current_cpu == "mips64el")) { 286 defines += [ "_MIPS_TARGET_SIMULATOR" ] 287 } 288 289 # TODO(jochen): Add support for mips. 290 if (v8_current_cpu == "mipsel") { 291 defines += [ "V8_TARGET_ARCH_MIPS" ] 292 if (v8_can_use_fpu_instructions) { 293 defines += [ "CAN_USE_FPU_INSTRUCTIONS" ] 294 } 295 if (v8_use_mips_abi_hardfloat) { 296 defines += [ 297 "__mips_hard_float=1", 298 "CAN_USE_FPU_INSTRUCTIONS", 299 ] 300 } else { 301 defines += [ "__mips_soft_float=1" ] 302 } 303 if (mips_arch_variant == "r6") { 304 defines += [ 305 "_MIPS_ARCH_MIPS32R6", 306 "FPU_MODE_FP64", 307 ] 308 } else if (mips_arch_variant == "r2") { 309 defines += [ "_MIPS_ARCH_MIPS32R2" ] 310 if (mips_fpu_mode == "fp64") { 311 defines += [ "FPU_MODE_FP64" ] 312 } else if (mips_fpu_mode == "fpxx") { 313 defines += [ "FPU_MODE_FPXX" ] 314 } else if (mips_fpu_mode == "fp32") { 315 defines += [ "FPU_MODE_FP32" ] 316 } 317 } else if (mips_arch_variant == "r1") { 318 defines += [ "FPU_MODE_FP32" ] 319 } 320 321 # TODO(jochen): Add support for mips_arch_variant rx and loongson. 322 } 323 324 # TODO(jochen): Add support for mips64. 325 if (v8_current_cpu == "mips64el") { 326 defines += [ "V8_TARGET_ARCH_MIPS64" ] 327 if (v8_can_use_fpu_instructions) { 328 defines += [ "CAN_USE_FPU_INSTRUCTIONS" ] 329 } 330 331 # TODO(jochen): Add support for big endian host byteorder. 332 defines += [ "V8_TARGET_ARCH_MIPS64_LE" ] 333 if (v8_use_mips_abi_hardfloat) { 334 defines += [ 335 "__mips_hard_float=1", 336 "CAN_USE_FPU_INSTRUCTIONS", 337 ] 338 } else { 339 defines += [ "__mips_soft_float=1" ] 340 } 341 if (mips_arch_variant == "r6") { 342 defines += [ "_MIPS_ARCH_MIPS64R6" ] 343 } else if (mips_arch_variant == "r2") { 344 defines += [ "_MIPS_ARCH_MIPS64R2" ] 345 } 346 } 347 if (v8_current_cpu == "s390" || v8_current_cpu == "s390x") { 348 defines += [ "V8_TARGET_ARCH_S390" ] 349 if (v8_current_cpu == "s390x") { 350 defines += [ "V8_TARGET_ARCH_S390X" ] 351 } 352 if (host_cpu == "x64" || host_cpu == "x86") { 353 defines += [ "V8_TARGET_ARCH_S390_LE_SIM" ] 354 } 355 } 356 if (v8_current_cpu == "x86") { 357 defines += [ "V8_TARGET_ARCH_IA32" ] 358 if (is_win) { 359 # Ensure no surprising artifacts from 80bit double math with x86. 360 cflags += [ "/arch:SSE2" ] 361 } 362 } 363 if (v8_current_cpu == "x64") { 364 defines += [ "V8_TARGET_ARCH_X64" ] 365 if (is_win) { 366 # Increase the initial stack size. The default is 1MB, this is 2MB. This 367 # applies only to executables and shared libraries produced by V8 since 368 # ldflags are not pushed to dependants. 369 ldflags += [ "/STACK:2097152" ] 370 } 371 } 372 if (is_android && v8_android_log_stdout) { 373 defines += [ "V8_ANDROID_LOG_STDOUT" ] 374 } 375 376 # TODO(jochen): Support v8_enable_prof on Windows. 377 # TODO(jochen): Add support for compiling with simulators. 378 379 if (is_debug) { 380 if (is_linux && v8_enable_backtrace) { 381 ldflags += [ "-rdynamic" ] 382 } 383 384 defines += [ "DEBUG" ] 385 if (v8_enable_slow_dchecks) { 386 defines += [ "ENABLE_SLOW_DCHECKS" ] 387 } 388 } else if (dcheck_always_on) { 389 defines += [ "DEBUG" ] 390 } 391 392 if (v8_enable_verify_csa) { 393 defines += [ "ENABLE_VERIFY_CSA" ] 394 } 395 396 if (v8_no_inline) { 397 cflags += [ 398 "-fno-inline-functions", 399 "-fno-inline", 400 ] 401 } 402 403 if (is_clang) { 404 cflags += [ 405 "-Wsign-compare", 406 407 # TODO(hans): Remove once http://crbug.com/428099 is resolved. 408 "-Winconsistent-missing-override", 409 ] 410 #if (v8_current_cpu == "x64" || v8_current_cpu == "arm64" || 411 # v8_current_cpu == "mips64el") { 412 # cflags += [ "-Wshorten-64-to-32" ] 413 #} 414 } 415 } 416 417 ############################################################################### 418 # Actions 419 # 420 421 action("js2c") { 422 visibility = [ ":*" ] # Only targets in this file can depend on this. 423 424 script = "tools/js2c.py" 425 426 # The script depends on this other script, this rule causes a rebuild if it 427 # changes. 428 inputs = [ 429 "tools/jsmin.py", 430 ] 431 432 # NOSORT 433 sources = [ 434 "src/js/macros.py", 435 "src/messages.h", 436 "src/js/prologue.js", 437 "src/js/runtime.js", 438 "src/js/v8natives.js", 439 "src/js/array.js", 440 "src/js/string.js", 441 "src/js/arraybuffer.js", 442 "src/js/typedarray.js", 443 "src/js/collection.js", 444 "src/js/weak-collection.js", 445 "src/js/collection-iterator.js", 446 "src/js/promise.js", 447 "src/js/messages.js", 448 "src/js/templates.js", 449 "src/js/spread.js", 450 "src/js/proxy.js", 451 "src/js/harmony-string-padding.js", 452 "src/debug/mirrors.js", 453 "src/debug/debug.js", 454 "src/debug/liveedit.js", 455 ] 456 457 outputs = [ 458 "$target_gen_dir/libraries.cc", 459 ] 460 461 if (v8_enable_i18n_support) { 462 sources += [ "src/js/i18n.js" ] 463 } 464 465 args = [ 466 rebase_path("$target_gen_dir/libraries.cc", root_build_dir), 467 "CORE", 468 ] + rebase_path(sources, root_build_dir) 469 470 if (v8_use_external_startup_data) { 471 outputs += [ "$target_gen_dir/libraries.bin" ] 472 args += [ 473 "--startup_blob", 474 rebase_path("$target_gen_dir/libraries.bin", root_build_dir), 475 ] 476 } 477 } 478 479 action("js2c_experimental") { 480 visibility = [ ":*" ] # Only targets in this file can depend on this. 481 482 script = "tools/js2c.py" 483 484 # The script depends on this other script, this rule causes a rebuild if it 485 # changes. 486 inputs = [ 487 "tools/jsmin.py", 488 ] 489 490 # NOSORT 491 sources = [ 492 "src/js/macros.py", 493 "src/messages.h", 494 "src/js/harmony-atomics.js", 495 ] 496 497 outputs = [ 498 "$target_gen_dir/experimental-libraries.cc", 499 ] 500 501 args = [ 502 rebase_path("$target_gen_dir/experimental-libraries.cc", 503 root_build_dir), 504 "EXPERIMENTAL", 505 ] + rebase_path(sources, root_build_dir) 506 507 if (v8_use_external_startup_data) { 508 outputs += [ "$target_gen_dir/libraries_experimental.bin" ] 509 args += [ 510 "--startup_blob", 511 rebase_path("$target_gen_dir/libraries_experimental.bin", root_build_dir), 512 ] 513 } 514 } 515 516 action("js2c_extras") { 517 visibility = [ ":*" ] # Only targets in this file can depend on this. 518 519 script = "tools/js2c.py" 520 521 # The script depends on this other script, this rule causes a rebuild if it 522 # changes. 523 inputs = [ 524 "tools/jsmin.py", 525 ] 526 527 sources = v8_extra_library_files 528 529 outputs = [ 530 "$target_gen_dir/extras-libraries.cc", 531 ] 532 533 args = [ 534 rebase_path("$target_gen_dir/extras-libraries.cc", root_build_dir), 535 "EXTRAS", 536 ] + rebase_path(sources, root_build_dir) 537 538 if (v8_use_external_startup_data) { 539 outputs += [ "$target_gen_dir/libraries_extras.bin" ] 540 args += [ 541 "--startup_blob", 542 rebase_path("$target_gen_dir/libraries_extras.bin", root_build_dir), 543 ] 544 } 545 } 546 547 action("js2c_experimental_extras") { 548 visibility = [ ":*" ] # Only targets in this file can depend on this. 549 550 script = "tools/js2c.py" 551 552 # The script depends on this other script, this rule causes a rebuild if it 553 # changes. 554 inputs = [ 555 "tools/jsmin.py", 556 ] 557 558 sources = v8_experimental_extra_library_files 559 560 outputs = [ 561 "$target_gen_dir/experimental-extras-libraries.cc", 562 ] 563 564 args = [ 565 rebase_path("$target_gen_dir/experimental-extras-libraries.cc", 566 root_build_dir), 567 "EXPERIMENTAL_EXTRAS", 568 ] + rebase_path(sources, root_build_dir) 569 570 if (v8_use_external_startup_data) { 571 outputs += [ "$target_gen_dir/libraries_experimental_extras.bin" ] 572 args += [ 573 "--startup_blob", 574 rebase_path("$target_gen_dir/libraries_experimental_extras.bin", 575 root_build_dir), 576 ] 577 } 578 } 579 580 action("d8_js2c") { 581 visibility = [ ":*" ] # Only targets in this file can depend on this. 582 583 script = "tools/js2c.py" 584 585 # NOSORT 586 inputs = [ 587 "src/d8.js", 588 "src/js/macros.py", 589 ] 590 591 outputs = [ 592 "$target_gen_dir/d8-js.cc", 593 ] 594 595 args = rebase_path(outputs, root_build_dir) + [ "D8" ] + 596 rebase_path(inputs, root_build_dir) 597 } 598 599 if (is_android && enable_java_templates) { 600 android_assets("v8_external_startup_data_assets") { 601 if (v8_use_external_startup_data) { 602 deps = [ 603 "//v8", 604 ] 605 sources = [ 606 "$root_out_dir/natives_blob.bin", 607 ] 608 renaming_sources = [ "$root_out_dir/snapshot_blob.bin" ] 609 if (current_cpu == "arm" || current_cpu == "x86" || 610 current_cpu == "mipsel") { 611 renaming_destinations = [ "snapshot_blob_32.bin" ] 612 } else { 613 renaming_destinations = [ "snapshot_blob_64.bin" ] 614 } 615 disable_compression = true 616 } 617 } 618 } 619 620 if (v8_use_external_startup_data) { 621 action("natives_blob") { 622 visibility = [ ":*" ] # Only targets in this file can depend on this. 623 624 deps = [ 625 ":js2c", 626 ":js2c_experimental", 627 ":js2c_experimental_extras", 628 ":js2c_extras", 629 ] 630 631 # NOSORT 632 sources = [ 633 "$target_gen_dir/libraries.bin", 634 "$target_gen_dir/libraries_experimental.bin", 635 "$target_gen_dir/libraries_extras.bin", 636 "$target_gen_dir/libraries_experimental_extras.bin", 637 ] 638 639 outputs = [ 640 "$root_out_dir/natives_blob.bin", 641 ] 642 643 script = "tools/concatenate-files.py" 644 645 args = rebase_path(sources + outputs, root_build_dir) 646 } 647 } 648 649 action("postmortem-metadata") { 650 # Only targets in this file and the top-level visibility target can 651 # depend on this. 652 visibility = [ 653 ":*", 654 "//:gn_visibility", 655 ] 656 657 script = "tools/gen-postmortem-metadata.py" 658 659 # NOSORT 660 sources = [ 661 "src/objects.h", 662 "src/objects-inl.h", 663 ] 664 665 outputs = [ 666 "$target_gen_dir/debug-support.cc", 667 ] 668 669 args = rebase_path(outputs, root_build_dir) + 670 rebase_path(sources, root_build_dir) 671 } 672 673 action("run_mksnapshot") { 674 visibility = [ ":*" ] # Only targets in this file can depend on this. 675 676 deps = [ 677 ":mksnapshot($v8_snapshot_toolchain)", 678 ] 679 680 script = "tools/run.py" 681 682 sources = [] 683 684 outputs = [ 685 "$target_gen_dir/snapshot.cc", 686 ] 687 688 args = [ 689 "./" + rebase_path(get_label_info(":mksnapshot($v8_snapshot_toolchain)", 690 "root_out_dir") + "/mksnapshot", 691 root_build_dir), 692 "--startup_src", 693 rebase_path("$target_gen_dir/snapshot.cc", root_build_dir), 694 ] 695 696 if (v8_random_seed != "0") { 697 args += [ 698 "--random-seed", 699 v8_random_seed, 700 ] 701 } 702 703 if (v8_os_page_size != "0") { 704 args += [ 705 "--v8_os_page_size", 706 v8_os_page_size, 707 ] 708 } 709 710 if (v8_use_external_startup_data) { 711 outputs += [ "$root_out_dir/snapshot_blob.bin" ] 712 args += [ 713 "--startup_blob", 714 rebase_path("$root_out_dir/snapshot_blob.bin", root_build_dir), 715 ] 716 } 717 718 if (v8_embed_script != "") { 719 sources += [ v8_embed_script ] 720 args += [ rebase_path(v8_embed_script, root_build_dir) ] 721 } 722 } 723 724 action("run_mkpeephole") { 725 visibility = [ ":*" ] # Only targets in this file can depend on this. 726 727 deps = [ 728 ":mkpeephole($v8_snapshot_toolchain)", 729 ] 730 731 outputs = [ 732 v8_generated_peephole_source, 733 ] 734 735 sources = [] 736 737 script = "tools/run.py" 738 739 args = [ 740 "./" + rebase_path(get_label_info(":mkpeephole($v8_snapshot_toolchain)", 741 "root_out_dir") + "/mkpeephole", 742 root_build_dir), 743 rebase_path(v8_generated_peephole_source, root_build_dir), 744 ] 745 } 746 747 action("v8_dump_build_config") { 748 script = "tools/testrunner/utils/dump_build_config.py" 749 outputs = [ 750 "$root_out_dir/v8_build_config.json", 751 ] 752 args = [ 753 rebase_path("$root_out_dir/v8_build_config.json", root_build_dir), 754 "current_cpu=\"$current_cpu\"", 755 "dcheck_always_on=$dcheck_always_on", 756 "is_asan=$is_asan", 757 "is_cfi=$is_cfi", 758 "is_component_build=$is_component_build", 759 "is_debug=$is_debug", 760 "is_msan=$is_msan", 761 "is_tsan=$is_tsan", 762 "target_cpu=\"$target_cpu\"", 763 "v8_current_cpu=\"$v8_current_cpu\"", 764 "v8_enable_i18n_support=$v8_enable_i18n_support", 765 "v8_enable_inspector=$v8_enable_inspector", 766 "v8_target_cpu=\"$v8_target_cpu\"", 767 "v8_use_snapshot=$v8_use_snapshot", 768 ] 769 } 770 771 ############################################################################### 772 # Source Sets (aka static libraries) 773 # 774 775 source_set("v8_maybe_snapshot") { 776 if (v8_use_snapshot && v8_use_external_startup_data) { 777 public_deps = [ 778 ":v8_external_snapshot", 779 ] 780 } else if (v8_use_snapshot) { 781 public_deps = [ 782 ":v8_snapshot", 783 ] 784 } else { 785 # Ignore v8_use_external_startup_data setting if no snapshot is used. 786 public_deps = [ 787 ":v8_nosnapshot", 788 ] 789 } 790 } 791 792 v8_source_set("v8_nosnapshot") { 793 visibility = [ ":*" ] # Only targets in this file can depend on this. 794 795 deps = [ 796 ":js2c", 797 ":js2c_experimental", 798 ":js2c_experimental_extras", 799 ":js2c_extras", 800 ":v8_base", 801 ] 802 803 sources = [ 804 "$target_gen_dir/experimental-extras-libraries.cc", 805 "$target_gen_dir/experimental-libraries.cc", 806 "$target_gen_dir/extras-libraries.cc", 807 "$target_gen_dir/libraries.cc", 808 "src/snapshot/snapshot-empty.cc", 809 ] 810 811 configs = [ ":internal_config" ] 812 } 813 814 v8_source_set("v8_snapshot") { 815 # Only targets in this file and the top-level visibility target can 816 # depend on this. 817 visibility = [ 818 ":*", 819 "//:gn_visibility", 820 ] 821 822 deps = [ 823 ":js2c", 824 ":js2c_experimental", 825 ":js2c_experimental_extras", 826 ":js2c_extras", 827 ":v8_base", 828 ] 829 public_deps = [ 830 # This should be public so downstream targets can declare the snapshot 831 # output file as their inputs. 832 ":run_mksnapshot", 833 ] 834 835 sources = [ 836 "$target_gen_dir/experimental-extras-libraries.cc", 837 "$target_gen_dir/experimental-libraries.cc", 838 "$target_gen_dir/extras-libraries.cc", 839 "$target_gen_dir/libraries.cc", 840 "$target_gen_dir/snapshot.cc", 841 ] 842 843 configs = [ ":internal_config" ] 844 } 845 846 if (v8_use_external_startup_data) { 847 v8_source_set("v8_external_snapshot") { 848 visibility = [ ":*" ] # Only targets in this file can depend on this. 849 850 deps = [ 851 ":js2c", 852 ":js2c_experimental", 853 ":js2c_experimental_extras", 854 ":js2c_extras", 855 ":v8_base", 856 ] 857 public_deps = [ 858 ":natives_blob", 859 ":run_mksnapshot", 860 ] 861 862 sources = [ 863 "src/snapshot/natives-external.cc", 864 "src/snapshot/snapshot-external.cc", 865 ] 866 867 configs = [ ":internal_config" ] 868 } 869 } 870 871 # This is split out to be a non-code containing target that the Chromium browser 872 # DLL can depend upon to get only a version string. 873 v8_header_set("v8_version") { 874 configs = [ ":internal_config" ] 875 876 sources = [ 877 "include/v8-version-string.h", 878 "include/v8-version.h", 879 ] 880 } 881 882 v8_source_set("v8_base") { 883 visibility = [ ":*" ] # Only targets in this file can depend on this. 884 885 sources = [ 886 "//base/trace_event/common/trace_event_common.h", 887 888 ### gcmole(all) ### 889 "include/v8-debug.h", 890 "include/v8-experimental.h", 891 "include/v8-platform.h", 892 "include/v8-profiler.h", 893 "include/v8-testing.h", 894 "include/v8-util.h", 895 "include/v8.h", 896 "include/v8config.h", 897 "src/accessors.cc", 898 "src/accessors.h", 899 "src/address-map.cc", 900 "src/address-map.h", 901 "src/allocation-site-scopes.cc", 902 "src/allocation-site-scopes.h", 903 "src/allocation.cc", 904 "src/allocation.h", 905 "src/api-arguments-inl.h", 906 "src/api-arguments.cc", 907 "src/api-arguments.h", 908 "src/api-experimental.cc", 909 "src/api-experimental.h", 910 "src/api-natives.cc", 911 "src/api-natives.h", 912 "src/api.cc", 913 "src/api.h", 914 "src/arguments.cc", 915 "src/arguments.h", 916 "src/asmjs/asm-js.cc", 917 "src/asmjs/asm-js.h", 918 "src/asmjs/asm-typer.cc", 919 "src/asmjs/asm-typer.h", 920 "src/asmjs/asm-types.cc", 921 "src/asmjs/asm-types.h", 922 "src/asmjs/asm-wasm-builder.cc", 923 "src/asmjs/asm-wasm-builder.h", 924 "src/asmjs/switch-logic.cc", 925 "src/asmjs/switch-logic.h", 926 "src/assembler-inl.h", 927 "src/assembler.cc", 928 "src/assembler.h", 929 "src/assert-scope.cc", 930 "src/assert-scope.h", 931 "src/ast/ast-expression-rewriter.cc", 932 "src/ast/ast-expression-rewriter.h", 933 "src/ast/ast-function-literal-id-reindexer.cc", 934 "src/ast/ast-function-literal-id-reindexer.h", 935 "src/ast/ast-numbering.cc", 936 "src/ast/ast-numbering.h", 937 "src/ast/ast-traversal-visitor.h", 938 "src/ast/ast-type-bounds.h", 939 "src/ast/ast-types.cc", 940 "src/ast/ast-types.h", 941 "src/ast/ast-value-factory.cc", 942 "src/ast/ast-value-factory.h", 943 "src/ast/ast.cc", 944 "src/ast/ast.h", 945 "src/ast/compile-time-value.cc", 946 "src/ast/compile-time-value.h", 947 "src/ast/context-slot-cache.cc", 948 "src/ast/context-slot-cache.h", 949 "src/ast/modules.cc", 950 "src/ast/modules.h", 951 "src/ast/prettyprinter.cc", 952 "src/ast/prettyprinter.h", 953 "src/ast/scopes.cc", 954 "src/ast/scopes.h", 955 "src/ast/variables.cc", 956 "src/ast/variables.h", 957 "src/background-parsing-task.cc", 958 "src/background-parsing-task.h", 959 "src/bailout-reason.cc", 960 "src/bailout-reason.h", 961 "src/basic-block-profiler.cc", 962 "src/basic-block-profiler.h", 963 "src/bignum-dtoa.cc", 964 "src/bignum-dtoa.h", 965 "src/bignum.cc", 966 "src/bignum.h", 967 "src/bit-vector.cc", 968 "src/bit-vector.h", 969 "src/bootstrapper.cc", 970 "src/bootstrapper.h", 971 "src/builtins/builtins-api.cc", 972 "src/builtins/builtins-arguments.cc", 973 "src/builtins/builtins-arguments.h", 974 "src/builtins/builtins-array.cc", 975 "src/builtins/builtins-arraybuffer.cc", 976 "src/builtins/builtins-async-function.cc", 977 "src/builtins/builtins-async-iterator.cc", 978 "src/builtins/builtins-async.cc", 979 "src/builtins/builtins-async.h", 980 "src/builtins/builtins-boolean.cc", 981 "src/builtins/builtins-call.cc", 982 "src/builtins/builtins-callsite.cc", 983 "src/builtins/builtins-constructor.cc", 984 "src/builtins/builtins-constructor.h", 985 "src/builtins/builtins-conversion.cc", 986 "src/builtins/builtins-dataview.cc", 987 "src/builtins/builtins-date.cc", 988 "src/builtins/builtins-debug.cc", 989 "src/builtins/builtins-error.cc", 990 "src/builtins/builtins-function.cc", 991 "src/builtins/builtins-generator.cc", 992 "src/builtins/builtins-global.cc", 993 "src/builtins/builtins-handler.cc", 994 "src/builtins/builtins-ic.cc", 995 "src/builtins/builtins-internal.cc", 996 "src/builtins/builtins-interpreter.cc", 997 "src/builtins/builtins-json.cc", 998 "src/builtins/builtins-math.cc", 999 "src/builtins/builtins-number.cc", 1000 "src/builtins/builtins-object.cc", 1001 "src/builtins/builtins-object.h", 1002 "src/builtins/builtins-promise.cc", 1003 "src/builtins/builtins-promise.h", 1004 "src/builtins/builtins-proxy.cc", 1005 "src/builtins/builtins-reflect.cc", 1006 "src/builtins/builtins-regexp.cc", 1007 "src/builtins/builtins-regexp.h", 1008 "src/builtins/builtins-sharedarraybuffer.cc", 1009 "src/builtins/builtins-string.cc", 1010 "src/builtins/builtins-symbol.cc", 1011 "src/builtins/builtins-typedarray.cc", 1012 "src/builtins/builtins-utils.h", 1013 "src/builtins/builtins-wasm.cc", 1014 "src/builtins/builtins.cc", 1015 "src/builtins/builtins.h", 1016 "src/cached-powers.cc", 1017 "src/cached-powers.h", 1018 "src/cancelable-task.cc", 1019 "src/cancelable-task.h", 1020 "src/char-predicates-inl.h", 1021 "src/char-predicates.cc", 1022 "src/char-predicates.h", 1023 "src/checks.h", 1024 "src/code-events.h", 1025 "src/code-factory.cc", 1026 "src/code-factory.h", 1027 "src/code-stub-assembler.cc", 1028 "src/code-stub-assembler.h", 1029 "src/code-stubs-hydrogen.cc", 1030 "src/code-stubs.cc", 1031 "src/code-stubs.h", 1032 "src/codegen.cc", 1033 "src/codegen.h", 1034 "src/collector.h", 1035 "src/compilation-cache.cc", 1036 "src/compilation-cache.h", 1037 "src/compilation-dependencies.cc", 1038 "src/compilation-dependencies.h", 1039 "src/compilation-info.cc", 1040 "src/compilation-info.h", 1041 "src/compilation-statistics.cc", 1042 "src/compilation-statistics.h", 1043 "src/compiler-dispatcher/compiler-dispatcher-job.cc", 1044 "src/compiler-dispatcher/compiler-dispatcher-job.h", 1045 "src/compiler-dispatcher/compiler-dispatcher-tracer.cc", 1046 "src/compiler-dispatcher/compiler-dispatcher-tracer.h", 1047 "src/compiler-dispatcher/compiler-dispatcher.cc", 1048 "src/compiler-dispatcher/compiler-dispatcher.h", 1049 "src/compiler-dispatcher/optimizing-compile-dispatcher.cc", 1050 "src/compiler-dispatcher/optimizing-compile-dispatcher.h", 1051 "src/compiler.cc", 1052 "src/compiler.h", 1053 "src/compiler/access-builder.cc", 1054 "src/compiler/access-builder.h", 1055 "src/compiler/access-info.cc", 1056 "src/compiler/access-info.h", 1057 "src/compiler/all-nodes.cc", 1058 "src/compiler/all-nodes.h", 1059 "src/compiler/ast-graph-builder.cc", 1060 "src/compiler/ast-graph-builder.h", 1061 "src/compiler/ast-loop-assignment-analyzer.cc", 1062 "src/compiler/ast-loop-assignment-analyzer.h", 1063 "src/compiler/basic-block-instrumentor.cc", 1064 "src/compiler/basic-block-instrumentor.h", 1065 "src/compiler/branch-elimination.cc", 1066 "src/compiler/branch-elimination.h", 1067 "src/compiler/bytecode-analysis.cc", 1068 "src/compiler/bytecode-analysis.h", 1069 "src/compiler/bytecode-graph-builder.cc", 1070 "src/compiler/bytecode-graph-builder.h", 1071 "src/compiler/bytecode-liveness-map.cc", 1072 "src/compiler/bytecode-liveness-map.h", 1073 "src/compiler/c-linkage.cc", 1074 "src/compiler/checkpoint-elimination.cc", 1075 "src/compiler/checkpoint-elimination.h", 1076 "src/compiler/code-assembler.cc", 1077 "src/compiler/code-assembler.h", 1078 "src/compiler/code-generator-impl.h", 1079 "src/compiler/code-generator.cc", 1080 "src/compiler/code-generator.h", 1081 "src/compiler/common-node-cache.cc", 1082 "src/compiler/common-node-cache.h", 1083 "src/compiler/common-operator-reducer.cc", 1084 "src/compiler/common-operator-reducer.h", 1085 "src/compiler/common-operator.cc", 1086 "src/compiler/common-operator.h", 1087 "src/compiler/compiler-source-position-table.cc", 1088 "src/compiler/compiler-source-position-table.h", 1089 "src/compiler/control-builders.cc", 1090 "src/compiler/control-builders.h", 1091 "src/compiler/control-equivalence.cc", 1092 "src/compiler/control-equivalence.h", 1093 "src/compiler/control-flow-optimizer.cc", 1094 "src/compiler/control-flow-optimizer.h", 1095 "src/compiler/dead-code-elimination.cc", 1096 "src/compiler/dead-code-elimination.h", 1097 "src/compiler/diamond.h", 1098 "src/compiler/effect-control-linearizer.cc", 1099 "src/compiler/effect-control-linearizer.h", 1100 "src/compiler/escape-analysis-reducer.cc", 1101 "src/compiler/escape-analysis-reducer.h", 1102 "src/compiler/escape-analysis.cc", 1103 "src/compiler/escape-analysis.h", 1104 "src/compiler/frame-elider.cc", 1105 "src/compiler/frame-elider.h", 1106 "src/compiler/frame-states.cc", 1107 "src/compiler/frame-states.h", 1108 "src/compiler/frame.cc", 1109 "src/compiler/frame.h", 1110 "src/compiler/gap-resolver.cc", 1111 "src/compiler/gap-resolver.h", 1112 "src/compiler/graph-assembler.cc", 1113 "src/compiler/graph-assembler.h", 1114 "src/compiler/graph-reducer.cc", 1115 "src/compiler/graph-reducer.h", 1116 "src/compiler/graph-replay.cc", 1117 "src/compiler/graph-replay.h", 1118 "src/compiler/graph-trimmer.cc", 1119 "src/compiler/graph-trimmer.h", 1120 "src/compiler/graph-visualizer.cc", 1121 "src/compiler/graph-visualizer.h", 1122 "src/compiler/graph.cc", 1123 "src/compiler/graph.h", 1124 "src/compiler/instruction-codes.h", 1125 "src/compiler/instruction-scheduler.cc", 1126 "src/compiler/instruction-scheduler.h", 1127 "src/compiler/instruction-selector-impl.h", 1128 "src/compiler/instruction-selector.cc", 1129 "src/compiler/instruction-selector.h", 1130 "src/compiler/instruction.cc", 1131 "src/compiler/instruction.h", 1132 "src/compiler/int64-lowering.cc", 1133 "src/compiler/int64-lowering.h", 1134 "src/compiler/js-builtin-reducer.cc", 1135 "src/compiler/js-builtin-reducer.h", 1136 "src/compiler/js-call-reducer.cc", 1137 "src/compiler/js-call-reducer.h", 1138 "src/compiler/js-context-specialization.cc", 1139 "src/compiler/js-context-specialization.h", 1140 "src/compiler/js-create-lowering.cc", 1141 "src/compiler/js-create-lowering.h", 1142 "src/compiler/js-frame-specialization.cc", 1143 "src/compiler/js-frame-specialization.h", 1144 "src/compiler/js-generic-lowering.cc", 1145 "src/compiler/js-generic-lowering.h", 1146 "src/compiler/js-graph.cc", 1147 "src/compiler/js-graph.h", 1148 "src/compiler/js-inlining-heuristic.cc", 1149 "src/compiler/js-inlining-heuristic.h", 1150 "src/compiler/js-inlining.cc", 1151 "src/compiler/js-inlining.h", 1152 "src/compiler/js-intrinsic-lowering.cc", 1153 "src/compiler/js-intrinsic-lowering.h", 1154 "src/compiler/js-native-context-specialization.cc", 1155 "src/compiler/js-native-context-specialization.h", 1156 "src/compiler/js-operator.cc", 1157 "src/compiler/js-operator.h", 1158 "src/compiler/js-type-hint-lowering.cc", 1159 "src/compiler/js-type-hint-lowering.h", 1160 "src/compiler/js-typed-lowering.cc", 1161 "src/compiler/js-typed-lowering.h", 1162 "src/compiler/jump-threading.cc", 1163 "src/compiler/jump-threading.h", 1164 "src/compiler/linkage.cc", 1165 "src/compiler/linkage.h", 1166 "src/compiler/live-range-separator.cc", 1167 "src/compiler/live-range-separator.h", 1168 "src/compiler/liveness-analyzer.cc", 1169 "src/compiler/liveness-analyzer.h", 1170 "src/compiler/load-elimination.cc", 1171 "src/compiler/load-elimination.h", 1172 "src/compiler/loop-analysis.cc", 1173 "src/compiler/loop-analysis.h", 1174 "src/compiler/loop-peeling.cc", 1175 "src/compiler/loop-peeling.h", 1176 "src/compiler/loop-variable-optimizer.cc", 1177 "src/compiler/loop-variable-optimizer.h", 1178 "src/compiler/machine-graph-verifier.cc", 1179 "src/compiler/machine-graph-verifier.h", 1180 "src/compiler/machine-operator-reducer.cc", 1181 "src/compiler/machine-operator-reducer.h", 1182 "src/compiler/machine-operator.cc", 1183 "src/compiler/machine-operator.h", 1184 "src/compiler/memory-optimizer.cc", 1185 "src/compiler/memory-optimizer.h", 1186 "src/compiler/move-optimizer.cc", 1187 "src/compiler/move-optimizer.h", 1188 "src/compiler/node-aux-data.h", 1189 "src/compiler/node-cache.cc", 1190 "src/compiler/node-cache.h", 1191 "src/compiler/node-marker.cc", 1192 "src/compiler/node-marker.h", 1193 "src/compiler/node-matchers.cc", 1194 "src/compiler/node-matchers.h", 1195 "src/compiler/node-properties.cc", 1196 "src/compiler/node-properties.h", 1197 "src/compiler/node.cc", 1198 "src/compiler/node.h", 1199 "src/compiler/opcodes.cc", 1200 "src/compiler/opcodes.h", 1201 "src/compiler/operation-typer.cc", 1202 "src/compiler/operation-typer.h", 1203 "src/compiler/operator-properties.cc", 1204 "src/compiler/operator-properties.h", 1205 "src/compiler/operator.cc", 1206 "src/compiler/operator.h", 1207 "src/compiler/osr.cc", 1208 "src/compiler/osr.h", 1209 "src/compiler/pipeline-statistics.cc", 1210 "src/compiler/pipeline-statistics.h", 1211 "src/compiler/pipeline.cc", 1212 "src/compiler/pipeline.h", 1213 "src/compiler/raw-machine-assembler.cc", 1214 "src/compiler/raw-machine-assembler.h", 1215 "src/compiler/redundancy-elimination.cc", 1216 "src/compiler/redundancy-elimination.h", 1217 "src/compiler/register-allocator-verifier.cc", 1218 "src/compiler/register-allocator-verifier.h", 1219 "src/compiler/register-allocator.cc", 1220 "src/compiler/register-allocator.h", 1221 "src/compiler/representation-change.cc", 1222 "src/compiler/representation-change.h", 1223 "src/compiler/schedule.cc", 1224 "src/compiler/schedule.h", 1225 "src/compiler/scheduler.cc", 1226 "src/compiler/scheduler.h", 1227 "src/compiler/select-lowering.cc", 1228 "src/compiler/select-lowering.h", 1229 "src/compiler/simd-scalar-lowering.cc", 1230 "src/compiler/simd-scalar-lowering.h", 1231 "src/compiler/simplified-lowering.cc", 1232 "src/compiler/simplified-lowering.h", 1233 "src/compiler/simplified-operator-reducer.cc", 1234 "src/compiler/simplified-operator-reducer.h", 1235 "src/compiler/simplified-operator.cc", 1236 "src/compiler/simplified-operator.h", 1237 "src/compiler/state-values-utils.cc", 1238 "src/compiler/state-values-utils.h", 1239 "src/compiler/store-store-elimination.cc", 1240 "src/compiler/store-store-elimination.h", 1241 "src/compiler/tail-call-optimization.cc", 1242 "src/compiler/tail-call-optimization.h", 1243 "src/compiler/type-cache.cc", 1244 "src/compiler/type-cache.h", 1245 "src/compiler/typed-optimization.cc", 1246 "src/compiler/typed-optimization.h", 1247 "src/compiler/typer.cc", 1248 "src/compiler/typer.h", 1249 "src/compiler/types.cc", 1250 "src/compiler/types.h", 1251 "src/compiler/unwinding-info-writer.h", 1252 "src/compiler/value-numbering-reducer.cc", 1253 "src/compiler/value-numbering-reducer.h", 1254 "src/compiler/verifier.cc", 1255 "src/compiler/verifier.h", 1256 "src/compiler/wasm-compiler.cc", 1257 "src/compiler/wasm-compiler.h", 1258 "src/compiler/wasm-linkage.cc", 1259 "src/compiler/zone-stats.cc", 1260 "src/compiler/zone-stats.h", 1261 "src/context-measure.cc", 1262 "src/context-measure.h", 1263 "src/contexts-inl.h", 1264 "src/contexts.cc", 1265 "src/contexts.h", 1266 "src/conversions-inl.h", 1267 "src/conversions.cc", 1268 "src/conversions.h", 1269 "src/counters-inl.h", 1270 "src/counters.cc", 1271 "src/counters.h", 1272 "src/crankshaft/compilation-phase.cc", 1273 "src/crankshaft/compilation-phase.h", 1274 "src/crankshaft/hydrogen-alias-analysis.h", 1275 "src/crankshaft/hydrogen-bce.cc", 1276 "src/crankshaft/hydrogen-bce.h", 1277 "src/crankshaft/hydrogen-canonicalize.cc", 1278 "src/crankshaft/hydrogen-canonicalize.h", 1279 "src/crankshaft/hydrogen-check-elimination.cc", 1280 "src/crankshaft/hydrogen-check-elimination.h", 1281 "src/crankshaft/hydrogen-dce.cc", 1282 "src/crankshaft/hydrogen-dce.h", 1283 "src/crankshaft/hydrogen-dehoist.cc", 1284 "src/crankshaft/hydrogen-dehoist.h", 1285 "src/crankshaft/hydrogen-environment-liveness.cc", 1286 "src/crankshaft/hydrogen-environment-liveness.h", 1287 "src/crankshaft/hydrogen-escape-analysis.cc", 1288 "src/crankshaft/hydrogen-escape-analysis.h", 1289 "src/crankshaft/hydrogen-flow-engine.h", 1290 "src/crankshaft/hydrogen-gvn.cc", 1291 "src/crankshaft/hydrogen-gvn.h", 1292 "src/crankshaft/hydrogen-infer-representation.cc", 1293 "src/crankshaft/hydrogen-infer-representation.h", 1294 "src/crankshaft/hydrogen-infer-types.cc", 1295 "src/crankshaft/hydrogen-infer-types.h", 1296 "src/crankshaft/hydrogen-instructions.cc", 1297 "src/crankshaft/hydrogen-instructions.h", 1298 "src/crankshaft/hydrogen-load-elimination.cc", 1299 "src/crankshaft/hydrogen-load-elimination.h", 1300 "src/crankshaft/hydrogen-mark-unreachable.cc", 1301 "src/crankshaft/hydrogen-mark-unreachable.h", 1302 "src/crankshaft/hydrogen-osr.cc", 1303 "src/crankshaft/hydrogen-osr.h", 1304 "src/crankshaft/hydrogen-range-analysis.cc", 1305 "src/crankshaft/hydrogen-range-analysis.h", 1306 "src/crankshaft/hydrogen-redundant-phi.cc", 1307 "src/crankshaft/hydrogen-redundant-phi.h", 1308 "src/crankshaft/hydrogen-removable-simulates.cc", 1309 "src/crankshaft/hydrogen-removable-simulates.h", 1310 "src/crankshaft/hydrogen-representation-changes.cc", 1311 "src/crankshaft/hydrogen-representation-changes.h", 1312 "src/crankshaft/hydrogen-sce.cc", 1313 "src/crankshaft/hydrogen-sce.h", 1314 "src/crankshaft/hydrogen-store-elimination.cc", 1315 "src/crankshaft/hydrogen-store-elimination.h", 1316 "src/crankshaft/hydrogen-types.cc", 1317 "src/crankshaft/hydrogen-types.h", 1318 "src/crankshaft/hydrogen-uint32-analysis.cc", 1319 "src/crankshaft/hydrogen-uint32-analysis.h", 1320 "src/crankshaft/hydrogen.cc", 1321 "src/crankshaft/hydrogen.h", 1322 "src/crankshaft/lithium-allocator-inl.h", 1323 "src/crankshaft/lithium-allocator.cc", 1324 "src/crankshaft/lithium-allocator.h", 1325 "src/crankshaft/lithium-codegen.cc", 1326 "src/crankshaft/lithium-codegen.h", 1327 "src/crankshaft/lithium-inl.h", 1328 "src/crankshaft/lithium.cc", 1329 "src/crankshaft/lithium.h", 1330 "src/crankshaft/typing.cc", 1331 "src/crankshaft/typing.h", 1332 "src/crankshaft/unique.h", 1333 "src/date.cc", 1334 "src/date.h", 1335 "src/dateparser-inl.h", 1336 "src/dateparser.cc", 1337 "src/dateparser.h", 1338 "src/debug/debug-coverage.cc", 1339 "src/debug/debug-coverage.h", 1340 "src/debug/debug-evaluate.cc", 1341 "src/debug/debug-evaluate.h", 1342 "src/debug/debug-frames.cc", 1343 "src/debug/debug-frames.h", 1344 "src/debug/debug-interface.h", 1345 "src/debug/debug-scopes.cc", 1346 "src/debug/debug-scopes.h", 1347 "src/debug/debug.cc", 1348 "src/debug/debug.h", 1349 "src/debug/interface-types.h", 1350 "src/debug/liveedit.cc", 1351 "src/debug/liveedit.h", 1352 "src/deoptimize-reason.cc", 1353 "src/deoptimize-reason.h", 1354 "src/deoptimizer.cc", 1355 "src/deoptimizer.h", 1356 "src/disasm.h", 1357 "src/disassembler.cc", 1358 "src/disassembler.h", 1359 "src/diy-fp.cc", 1360 "src/diy-fp.h", 1361 "src/double.h", 1362 "src/dtoa.cc", 1363 "src/dtoa.h", 1364 "src/effects.h", 1365 "src/eh-frame.cc", 1366 "src/eh-frame.h", 1367 "src/elements-kind.cc", 1368 "src/elements-kind.h", 1369 "src/elements.cc", 1370 "src/elements.h", 1371 "src/execution.cc", 1372 "src/execution.h", 1373 "src/extensions/externalize-string-extension.cc", 1374 "src/extensions/externalize-string-extension.h", 1375 "src/extensions/free-buffer-extension.cc", 1376 "src/extensions/free-buffer-extension.h", 1377 "src/extensions/gc-extension.cc", 1378 "src/extensions/gc-extension.h", 1379 "src/extensions/ignition-statistics-extension.cc", 1380 "src/extensions/ignition-statistics-extension.h", 1381 "src/extensions/statistics-extension.cc", 1382 "src/extensions/statistics-extension.h", 1383 "src/extensions/trigger-failure-extension.cc", 1384 "src/extensions/trigger-failure-extension.h", 1385 "src/external-reference-table.cc", 1386 "src/external-reference-table.h", 1387 "src/factory.cc", 1388 "src/factory.h", 1389 "src/fast-accessor-assembler.cc", 1390 "src/fast-accessor-assembler.h", 1391 "src/fast-dtoa.cc", 1392 "src/fast-dtoa.h", 1393 "src/feedback-vector-inl.h", 1394 "src/feedback-vector.cc", 1395 "src/feedback-vector.h", 1396 "src/ffi/ffi-compiler.cc", 1397 "src/ffi/ffi-compiler.h", 1398 "src/field-index-inl.h", 1399 "src/field-index.h", 1400 "src/field-type.cc", 1401 "src/field-type.h", 1402 "src/find-and-replace-pattern.h", 1403 "src/fixed-dtoa.cc", 1404 "src/fixed-dtoa.h", 1405 "src/flag-definitions.h", 1406 "src/flags.cc", 1407 "src/flags.h", 1408 "src/frames-inl.h", 1409 "src/frames.cc", 1410 "src/frames.h", 1411 "src/full-codegen/full-codegen.cc", 1412 "src/full-codegen/full-codegen.h", 1413 "src/futex-emulation.cc", 1414 "src/futex-emulation.h", 1415 "src/gdb-jit.cc", 1416 "src/gdb-jit.h", 1417 "src/global-handles.cc", 1418 "src/global-handles.h", 1419 "src/globals.h", 1420 "src/handles-inl.h", 1421 "src/handles.cc", 1422 "src/handles.h", 1423 "src/heap-symbols.h", 1424 "src/heap/array-buffer-tracker-inl.h", 1425 "src/heap/array-buffer-tracker.cc", 1426 "src/heap/array-buffer-tracker.h", 1427 "src/heap/code-stats.cc", 1428 "src/heap/code-stats.h", 1429 "src/heap/embedder-tracing.cc", 1430 "src/heap/embedder-tracing.h", 1431 "src/heap/gc-idle-time-handler.cc", 1432 "src/heap/gc-idle-time-handler.h", 1433 "src/heap/gc-tracer.cc", 1434 "src/heap/gc-tracer.h", 1435 "src/heap/heap-inl.h", 1436 "src/heap/heap.cc", 1437 "src/heap/heap.h", 1438 "src/heap/incremental-marking-inl.h", 1439 "src/heap/incremental-marking-job.cc", 1440 "src/heap/incremental-marking-job.h", 1441 "src/heap/incremental-marking.cc", 1442 "src/heap/incremental-marking.h", 1443 "src/heap/mark-compact-inl.h", 1444 "src/heap/mark-compact.cc", 1445 "src/heap/mark-compact.h", 1446 "src/heap/marking.h", 1447 "src/heap/memory-reducer.cc", 1448 "src/heap/memory-reducer.h", 1449 "src/heap/object-stats.cc", 1450 "src/heap/object-stats.h", 1451 "src/heap/objects-visiting-inl.h", 1452 "src/heap/objects-visiting.cc", 1453 "src/heap/objects-visiting.h", 1454 "src/heap/page-parallel-job.h", 1455 "src/heap/remembered-set.h", 1456 "src/heap/scavenge-job.cc", 1457 "src/heap/scavenge-job.h", 1458 "src/heap/scavenger-inl.h", 1459 "src/heap/scavenger.cc", 1460 "src/heap/scavenger.h", 1461 "src/heap/slot-set.h", 1462 "src/heap/spaces-inl.h", 1463 "src/heap/spaces.cc", 1464 "src/heap/spaces.h", 1465 "src/heap/store-buffer.cc", 1466 "src/heap/store-buffer.h", 1467 "src/i18n.cc", 1468 "src/i18n.h", 1469 "src/ic/access-compiler-data.h", 1470 "src/ic/access-compiler.cc", 1471 "src/ic/access-compiler.h", 1472 "src/ic/accessor-assembler.cc", 1473 "src/ic/accessor-assembler.h", 1474 "src/ic/call-optimization.cc", 1475 "src/ic/call-optimization.h", 1476 "src/ic/handler-compiler.cc", 1477 "src/ic/handler-compiler.h", 1478 "src/ic/handler-configuration-inl.h", 1479 "src/ic/handler-configuration.h", 1480 "src/ic/ic-inl.h", 1481 "src/ic/ic-state.cc", 1482 "src/ic/ic-state.h", 1483 "src/ic/ic-stats.cc", 1484 "src/ic/ic-stats.h", 1485 "src/ic/ic.cc", 1486 "src/ic/ic.h", 1487 "src/ic/keyed-store-generic.cc", 1488 "src/ic/keyed-store-generic.h", 1489 "src/ic/stub-cache.cc", 1490 "src/ic/stub-cache.h", 1491 "src/icu_util.cc", 1492 "src/icu_util.h", 1493 "src/identity-map.cc", 1494 "src/identity-map.h", 1495 "src/interface-descriptors.cc", 1496 "src/interface-descriptors.h", 1497 "src/interpreter/bytecode-array-accessor.cc", 1498 "src/interpreter/bytecode-array-accessor.h", 1499 "src/interpreter/bytecode-array-builder.cc", 1500 "src/interpreter/bytecode-array-builder.h", 1501 "src/interpreter/bytecode-array-iterator.cc", 1502 "src/interpreter/bytecode-array-iterator.h", 1503 "src/interpreter/bytecode-array-random-iterator.cc", 1504 "src/interpreter/bytecode-array-random-iterator.h", 1505 "src/interpreter/bytecode-array-writer.cc", 1506 "src/interpreter/bytecode-array-writer.h", 1507 "src/interpreter/bytecode-dead-code-optimizer.cc", 1508 "src/interpreter/bytecode-dead-code-optimizer.h", 1509 "src/interpreter/bytecode-decoder.cc", 1510 "src/interpreter/bytecode-decoder.h", 1511 "src/interpreter/bytecode-flags.cc", 1512 "src/interpreter/bytecode-flags.h", 1513 "src/interpreter/bytecode-generator.cc", 1514 "src/interpreter/bytecode-generator.h", 1515 "src/interpreter/bytecode-label.cc", 1516 "src/interpreter/bytecode-label.h", 1517 "src/interpreter/bytecode-operands.cc", 1518 "src/interpreter/bytecode-operands.h", 1519 "src/interpreter/bytecode-peephole-optimizer.cc", 1520 "src/interpreter/bytecode-peephole-optimizer.h", 1521 "src/interpreter/bytecode-peephole-table.h", 1522 "src/interpreter/bytecode-pipeline.cc", 1523 "src/interpreter/bytecode-pipeline.h", 1524 "src/interpreter/bytecode-register-allocator.h", 1525 "src/interpreter/bytecode-register-optimizer.cc", 1526 "src/interpreter/bytecode-register-optimizer.h", 1527 "src/interpreter/bytecode-register.cc", 1528 "src/interpreter/bytecode-register.h", 1529 "src/interpreter/bytecode-traits.h", 1530 "src/interpreter/bytecodes.cc", 1531 "src/interpreter/bytecodes.h", 1532 "src/interpreter/constant-array-builder.cc", 1533 "src/interpreter/constant-array-builder.h", 1534 "src/interpreter/control-flow-builders.cc", 1535 "src/interpreter/control-flow-builders.h", 1536 "src/interpreter/handler-table-builder.cc", 1537 "src/interpreter/handler-table-builder.h", 1538 "src/interpreter/interpreter-assembler.cc", 1539 "src/interpreter/interpreter-assembler.h", 1540 "src/interpreter/interpreter-intrinsics.cc", 1541 "src/interpreter/interpreter-intrinsics.h", 1542 "src/interpreter/interpreter.cc", 1543 "src/interpreter/interpreter.h", 1544 "src/isolate-inl.h", 1545 "src/isolate.cc", 1546 "src/isolate.h", 1547 "src/json-parser.cc", 1548 "src/json-parser.h", 1549 "src/json-stringifier.cc", 1550 "src/json-stringifier.h", 1551 "src/keys.cc", 1552 "src/keys.h", 1553 "src/label.h", 1554 "src/layout-descriptor-inl.h", 1555 "src/layout-descriptor.cc", 1556 "src/layout-descriptor.h", 1557 "src/list-inl.h", 1558 "src/list.h", 1559 "src/locked-queue-inl.h", 1560 "src/locked-queue.h", 1561 "src/log-inl.h", 1562 "src/log-utils.cc", 1563 "src/log-utils.h", 1564 "src/log.cc", 1565 "src/log.h", 1566 "src/lookup-cache-inl.h", 1567 "src/lookup-cache.cc", 1568 "src/lookup-cache.h", 1569 "src/lookup.cc", 1570 "src/lookup.h", 1571 "src/machine-type.cc", 1572 "src/machine-type.h", 1573 "src/macro-assembler.h", 1574 "src/managed.h", 1575 "src/map-updater.cc", 1576 "src/map-updater.h", 1577 "src/messages.cc", 1578 "src/messages.h", 1579 "src/msan.h", 1580 "src/objects-body-descriptors-inl.h", 1581 "src/objects-body-descriptors.h", 1582 "src/objects-debug.cc", 1583 "src/objects-inl.h", 1584 "src/objects-printer.cc", 1585 "src/objects.cc", 1586 "src/objects.h", 1587 "src/objects/literal-objects.cc", 1588 "src/objects/literal-objects.h", 1589 "src/objects/module-info.h", 1590 "src/objects/object-macros-undef.h", 1591 "src/objects/object-macros.h", 1592 "src/objects/regexp-match-info.h", 1593 "src/objects/scope-info.cc", 1594 "src/objects/scope-info.h", 1595 "src/ostreams.cc", 1596 "src/ostreams.h", 1597 "src/parsing/duplicate-finder.cc", 1598 "src/parsing/duplicate-finder.h", 1599 "src/parsing/expression-classifier.h", 1600 "src/parsing/func-name-inferrer.cc", 1601 "src/parsing/func-name-inferrer.h", 1602 "src/parsing/parameter-initializer-rewriter.cc", 1603 "src/parsing/parameter-initializer-rewriter.h", 1604 "src/parsing/parse-info.cc", 1605 "src/parsing/parse-info.h", 1606 "src/parsing/parser-base.h", 1607 "src/parsing/parser.cc", 1608 "src/parsing/parser.h", 1609 "src/parsing/parsing.cc", 1610 "src/parsing/parsing.h", 1611 "src/parsing/pattern-rewriter.cc", 1612 "src/parsing/preparse-data-format.h", 1613 "src/parsing/preparse-data.cc", 1614 "src/parsing/preparse-data.h", 1615 "src/parsing/preparsed-scope-data.cc", 1616 "src/parsing/preparsed-scope-data.h", 1617 "src/parsing/preparser.cc", 1618 "src/parsing/preparser.h", 1619 "src/parsing/rewriter.cc", 1620 "src/parsing/rewriter.h", 1621 "src/parsing/scanner-character-streams.cc", 1622 "src/parsing/scanner-character-streams.h", 1623 "src/parsing/scanner.cc", 1624 "src/parsing/scanner.h", 1625 "src/parsing/token.cc", 1626 "src/parsing/token.h", 1627 "src/pending-compilation-error-handler.cc", 1628 "src/pending-compilation-error-handler.h", 1629 "src/perf-jit.cc", 1630 "src/perf-jit.h", 1631 "src/profiler/allocation-tracker.cc", 1632 "src/profiler/allocation-tracker.h", 1633 "src/profiler/circular-queue-inl.h", 1634 "src/profiler/circular-queue.h", 1635 "src/profiler/cpu-profiler-inl.h", 1636 "src/profiler/cpu-profiler.cc", 1637 "src/profiler/cpu-profiler.h", 1638 "src/profiler/heap-profiler.cc", 1639 "src/profiler/heap-profiler.h", 1640 "src/profiler/heap-snapshot-generator-inl.h", 1641 "src/profiler/heap-snapshot-generator.cc", 1642 "src/profiler/heap-snapshot-generator.h", 1643 "src/profiler/profile-generator-inl.h", 1644 "src/profiler/profile-generator.cc", 1645 "src/profiler/profile-generator.h", 1646 "src/profiler/profiler-listener.cc", 1647 "src/profiler/profiler-listener.h", 1648 "src/profiler/sampling-heap-profiler.cc", 1649 "src/profiler/sampling-heap-profiler.h", 1650 "src/profiler/strings-storage.cc", 1651 "src/profiler/strings-storage.h", 1652 "src/profiler/tick-sample.cc", 1653 "src/profiler/tick-sample.h", 1654 "src/profiler/tracing-cpu-profiler.cc", 1655 "src/profiler/tracing-cpu-profiler.h", 1656 "src/profiler/unbound-queue-inl.h", 1657 "src/profiler/unbound-queue.h", 1658 "src/property-descriptor.cc", 1659 "src/property-descriptor.h", 1660 "src/property-details.h", 1661 "src/property.cc", 1662 "src/property.h", 1663 "src/prototype.h", 1664 "src/regexp/bytecodes-irregexp.h", 1665 "src/regexp/interpreter-irregexp.cc", 1666 "src/regexp/interpreter-irregexp.h", 1667 "src/regexp/jsregexp-inl.h", 1668 "src/regexp/jsregexp.cc", 1669 "src/regexp/jsregexp.h", 1670 "src/regexp/regexp-ast.cc", 1671 "src/regexp/regexp-ast.h", 1672 "src/regexp/regexp-macro-assembler-irregexp-inl.h", 1673 "src/regexp/regexp-macro-assembler-irregexp.cc", 1674 "src/regexp/regexp-macro-assembler-irregexp.h", 1675 "src/regexp/regexp-macro-assembler-tracer.cc", 1676 "src/regexp/regexp-macro-assembler-tracer.h", 1677 "src/regexp/regexp-macro-assembler.cc", 1678 "src/regexp/regexp-macro-assembler.h", 1679 "src/regexp/regexp-parser.cc", 1680 "src/regexp/regexp-parser.h", 1681 "src/regexp/regexp-stack.cc", 1682 "src/regexp/regexp-stack.h", 1683 "src/regexp/regexp-utils.cc", 1684 "src/regexp/regexp-utils.h", 1685 "src/register-configuration.cc", 1686 "src/register-configuration.h", 1687 "src/runtime-profiler.cc", 1688 "src/runtime-profiler.h", 1689 "src/runtime/runtime-array.cc", 1690 "src/runtime/runtime-atomics.cc", 1691 "src/runtime/runtime-classes.cc", 1692 "src/runtime/runtime-collections.cc", 1693 "src/runtime/runtime-compiler.cc", 1694 "src/runtime/runtime-date.cc", 1695 "src/runtime/runtime-debug.cc", 1696 "src/runtime/runtime-error.cc", 1697 "src/runtime/runtime-forin.cc", 1698 "src/runtime/runtime-function.cc", 1699 "src/runtime/runtime-futex.cc", 1700 "src/runtime/runtime-generator.cc", 1701 "src/runtime/runtime-i18n.cc", 1702 "src/runtime/runtime-internal.cc", 1703 "src/runtime/runtime-interpreter.cc", 1704 "src/runtime/runtime-literals.cc", 1705 "src/runtime/runtime-liveedit.cc", 1706 "src/runtime/runtime-maths.cc", 1707 "src/runtime/runtime-module.cc", 1708 "src/runtime/runtime-numbers.cc", 1709 "src/runtime/runtime-object.cc", 1710 "src/runtime/runtime-operators.cc", 1711 "src/runtime/runtime-promise.cc", 1712 "src/runtime/runtime-proxy.cc", 1713 "src/runtime/runtime-regexp.cc", 1714 "src/runtime/runtime-scopes.cc", 1715 "src/runtime/runtime-strings.cc", 1716 "src/runtime/runtime-symbol.cc", 1717 "src/runtime/runtime-test.cc", 1718 "src/runtime/runtime-typedarray.cc", 1719 "src/runtime/runtime-utils.h", 1720 "src/runtime/runtime-wasm.cc", 1721 "src/runtime/runtime.cc", 1722 "src/runtime/runtime.h", 1723 "src/safepoint-table.cc", 1724 "src/safepoint-table.h", 1725 "src/signature.h", 1726 "src/simulator.h", 1727 "src/small-pointer-list.h", 1728 "src/snapshot/code-serializer.cc", 1729 "src/snapshot/code-serializer.h", 1730 "src/snapshot/deserializer.cc", 1731 "src/snapshot/deserializer.h", 1732 "src/snapshot/natives-common.cc", 1733 "src/snapshot/natives.h", 1734 "src/snapshot/partial-serializer.cc", 1735 "src/snapshot/partial-serializer.h", 1736 "src/snapshot/serializer-common.cc", 1737 "src/snapshot/serializer-common.h", 1738 "src/snapshot/serializer.cc", 1739 "src/snapshot/serializer.h", 1740 "src/snapshot/snapshot-common.cc", 1741 "src/snapshot/snapshot-source-sink.cc", 1742 "src/snapshot/snapshot-source-sink.h", 1743 "src/snapshot/snapshot.h", 1744 "src/snapshot/startup-serializer.cc", 1745 "src/snapshot/startup-serializer.h", 1746 "src/source-position-table.cc", 1747 "src/source-position-table.h", 1748 "src/source-position.cc", 1749 "src/source-position.h", 1750 "src/splay-tree-inl.h", 1751 "src/splay-tree.h", 1752 "src/startup-data-util.cc", 1753 "src/startup-data-util.h", 1754 "src/string-builder.cc", 1755 "src/string-builder.h", 1756 "src/string-case.cc", 1757 "src/string-case.h", 1758 "src/string-search.h", 1759 "src/string-stream.cc", 1760 "src/string-stream.h", 1761 "src/strtod.cc", 1762 "src/strtod.h", 1763 "src/tracing/trace-event.cc", 1764 "src/tracing/trace-event.h", 1765 "src/tracing/traced-value.cc", 1766 "src/tracing/traced-value.h", 1767 "src/tracing/tracing-category-observer.cc", 1768 "src/tracing/tracing-category-observer.h", 1769 "src/transitions-inl.h", 1770 "src/transitions.cc", 1771 "src/transitions.h", 1772 "src/trap-handler/trap-handler.h", 1773 "src/type-hints.cc", 1774 "src/type-hints.h", 1775 "src/type-info.cc", 1776 "src/type-info.h", 1777 "src/unicode-cache-inl.h", 1778 "src/unicode-cache.h", 1779 "src/unicode-decoder.cc", 1780 "src/unicode-decoder.h", 1781 "src/unicode-inl.h", 1782 "src/unicode.cc", 1783 "src/unicode.h", 1784 "src/uri.cc", 1785 "src/uri.h", 1786 "src/utils-inl.h", 1787 "src/utils.cc", 1788 "src/utils.h", 1789 "src/v8.cc", 1790 "src/v8.h", 1791 "src/v8memory.h", 1792 "src/v8threads.cc", 1793 "src/v8threads.h", 1794 "src/value-serializer.cc", 1795 "src/value-serializer.h", 1796 "src/vector.h", 1797 "src/version.cc", 1798 "src/version.h", 1799 "src/vm-state-inl.h", 1800 "src/vm-state.h", 1801 "src/wasm/decoder.h", 1802 "src/wasm/function-body-decoder-impl.h", 1803 "src/wasm/function-body-decoder.cc", 1804 "src/wasm/function-body-decoder.h", 1805 "src/wasm/leb-helper.h", 1806 "src/wasm/module-decoder.cc", 1807 "src/wasm/module-decoder.h", 1808 "src/wasm/signature-map.cc", 1809 "src/wasm/signature-map.h", 1810 "src/wasm/wasm-code-specialization.cc", 1811 "src/wasm/wasm-code-specialization.h", 1812 "src/wasm/wasm-debug.cc", 1813 "src/wasm/wasm-external-refs.cc", 1814 "src/wasm/wasm-external-refs.h", 1815 "src/wasm/wasm-interpreter.cc", 1816 "src/wasm/wasm-interpreter.h", 1817 "src/wasm/wasm-js.cc", 1818 "src/wasm/wasm-js.h", 1819 "src/wasm/wasm-limits.h", 1820 "src/wasm/wasm-macro-gen.h", 1821 "src/wasm/wasm-module-builder.cc", 1822 "src/wasm/wasm-module-builder.h", 1823 "src/wasm/wasm-module.cc", 1824 "src/wasm/wasm-module.h", 1825 "src/wasm/wasm-objects.cc", 1826 "src/wasm/wasm-objects.h", 1827 "src/wasm/wasm-opcodes.cc", 1828 "src/wasm/wasm-opcodes.h", 1829 "src/wasm/wasm-result.cc", 1830 "src/wasm/wasm-result.h", 1831 "src/wasm/wasm-text.cc", 1832 "src/wasm/wasm-text.h", 1833 "src/zone/accounting-allocator.cc", 1834 "src/zone/accounting-allocator.h", 1835 "src/zone/zone-allocator.h", 1836 "src/zone/zone-allocator.h", 1837 "src/zone/zone-chunk-list.h", 1838 "src/zone/zone-containers.h", 1839 "src/zone/zone-handle-set.h", 1840 "src/zone/zone-segment.cc", 1841 "src/zone/zone-segment.h", 1842 "src/zone/zone.cc", 1843 "src/zone/zone.h", 1844 ] 1845 1846 if (v8_current_cpu == "x86") { 1847 sources += [ ### gcmole(arch:ia32) ### 1848 "src/builtins/ia32/builtins-ia32.cc", 1849 "src/compiler/ia32/code-generator-ia32.cc", 1850 "src/compiler/ia32/instruction-codes-ia32.h", 1851 "src/compiler/ia32/instruction-scheduler-ia32.cc", 1852 "src/compiler/ia32/instruction-selector-ia32.cc", 1853 "src/crankshaft/ia32/lithium-codegen-ia32.cc", 1854 "src/crankshaft/ia32/lithium-codegen-ia32.h", 1855 "src/crankshaft/ia32/lithium-gap-resolver-ia32.cc", 1856 "src/crankshaft/ia32/lithium-gap-resolver-ia32.h", 1857 "src/crankshaft/ia32/lithium-ia32.cc", 1858 "src/crankshaft/ia32/lithium-ia32.h", 1859 "src/debug/ia32/debug-ia32.cc", 1860 "src/full-codegen/ia32/full-codegen-ia32.cc", 1861 "src/ia32/assembler-ia32-inl.h", 1862 "src/ia32/assembler-ia32.cc", 1863 "src/ia32/assembler-ia32.h", 1864 "src/ia32/code-stubs-ia32.cc", 1865 "src/ia32/code-stubs-ia32.h", 1866 "src/ia32/codegen-ia32.cc", 1867 "src/ia32/codegen-ia32.h", 1868 "src/ia32/cpu-ia32.cc", 1869 "src/ia32/deoptimizer-ia32.cc", 1870 "src/ia32/disasm-ia32.cc", 1871 "src/ia32/frames-ia32.cc", 1872 "src/ia32/frames-ia32.h", 1873 "src/ia32/interface-descriptors-ia32.cc", 1874 "src/ia32/macro-assembler-ia32.cc", 1875 "src/ia32/macro-assembler-ia32.h", 1876 "src/ia32/simulator-ia32.cc", 1877 "src/ia32/simulator-ia32.h", 1878 "src/ic/ia32/access-compiler-ia32.cc", 1879 "src/ic/ia32/handler-compiler-ia32.cc", 1880 "src/ic/ia32/ic-ia32.cc", 1881 "src/regexp/ia32/regexp-macro-assembler-ia32.cc", 1882 "src/regexp/ia32/regexp-macro-assembler-ia32.h", 1883 ] 1884 } else if (v8_current_cpu == "x64") { 1885 sources += [ ### gcmole(arch:x64) ### 1886 "src/builtins/x64/builtins-x64.cc", 1887 "src/compiler/x64/code-generator-x64.cc", 1888 "src/compiler/x64/instruction-codes-x64.h", 1889 "src/compiler/x64/instruction-scheduler-x64.cc", 1890 "src/compiler/x64/instruction-selector-x64.cc", 1891 "src/compiler/x64/unwinding-info-writer-x64.cc", 1892 "src/compiler/x64/unwinding-info-writer-x64.h", 1893 "src/crankshaft/x64/lithium-codegen-x64.cc", 1894 "src/crankshaft/x64/lithium-codegen-x64.h", 1895 "src/crankshaft/x64/lithium-gap-resolver-x64.cc", 1896 "src/crankshaft/x64/lithium-gap-resolver-x64.h", 1897 "src/crankshaft/x64/lithium-x64.cc", 1898 "src/crankshaft/x64/lithium-x64.h", 1899 "src/debug/x64/debug-x64.cc", 1900 "src/full-codegen/x64/full-codegen-x64.cc", 1901 "src/ic/x64/access-compiler-x64.cc", 1902 "src/ic/x64/handler-compiler-x64.cc", 1903 "src/ic/x64/ic-x64.cc", 1904 "src/regexp/x64/regexp-macro-assembler-x64.cc", 1905 "src/regexp/x64/regexp-macro-assembler-x64.h", 1906 "src/third_party/valgrind/valgrind.h", 1907 "src/x64/assembler-x64-inl.h", 1908 "src/x64/assembler-x64.cc", 1909 "src/x64/assembler-x64.h", 1910 "src/x64/code-stubs-x64.cc", 1911 "src/x64/code-stubs-x64.h", 1912 "src/x64/codegen-x64.cc", 1913 "src/x64/codegen-x64.h", 1914 "src/x64/cpu-x64.cc", 1915 "src/x64/deoptimizer-x64.cc", 1916 "src/x64/disasm-x64.cc", 1917 "src/x64/eh-frame-x64.cc", 1918 "src/x64/frames-x64.cc", 1919 "src/x64/frames-x64.h", 1920 "src/x64/interface-descriptors-x64.cc", 1921 "src/x64/macro-assembler-x64.cc", 1922 "src/x64/macro-assembler-x64.h", 1923 "src/x64/simulator-x64.cc", 1924 "src/x64/simulator-x64.h", 1925 "src/x64/sse-instr.h", 1926 ] 1927 } else if (v8_current_cpu == "arm") { 1928 sources += [ ### gcmole(arch:arm) ### 1929 "src/arm/assembler-arm-inl.h", 1930 "src/arm/assembler-arm.cc", 1931 "src/arm/assembler-arm.h", 1932 "src/arm/code-stubs-arm.cc", 1933 "src/arm/code-stubs-arm.h", 1934 "src/arm/codegen-arm.cc", 1935 "src/arm/codegen-arm.h", 1936 "src/arm/constants-arm.cc", 1937 "src/arm/constants-arm.h", 1938 "src/arm/cpu-arm.cc", 1939 "src/arm/deoptimizer-arm.cc", 1940 "src/arm/disasm-arm.cc", 1941 "src/arm/eh-frame-arm.cc", 1942 "src/arm/frames-arm.cc", 1943 "src/arm/frames-arm.h", 1944 "src/arm/interface-descriptors-arm.cc", 1945 "src/arm/interface-descriptors-arm.h", 1946 "src/arm/macro-assembler-arm.cc", 1947 "src/arm/macro-assembler-arm.h", 1948 "src/arm/simulator-arm.cc", 1949 "src/arm/simulator-arm.h", 1950 "src/builtins/arm/builtins-arm.cc", 1951 "src/compiler/arm/code-generator-arm.cc", 1952 "src/compiler/arm/instruction-codes-arm.h", 1953 "src/compiler/arm/instruction-scheduler-arm.cc", 1954 "src/compiler/arm/instruction-selector-arm.cc", 1955 "src/compiler/arm/unwinding-info-writer-arm.cc", 1956 "src/compiler/arm/unwinding-info-writer-arm.h", 1957 "src/crankshaft/arm/lithium-arm.cc", 1958 "src/crankshaft/arm/lithium-arm.h", 1959 "src/crankshaft/arm/lithium-codegen-arm.cc", 1960 "src/crankshaft/arm/lithium-codegen-arm.h", 1961 "src/crankshaft/arm/lithium-gap-resolver-arm.cc", 1962 "src/crankshaft/arm/lithium-gap-resolver-arm.h", 1963 "src/debug/arm/debug-arm.cc", 1964 "src/full-codegen/arm/full-codegen-arm.cc", 1965 "src/ic/arm/access-compiler-arm.cc", 1966 "src/ic/arm/handler-compiler-arm.cc", 1967 "src/ic/arm/ic-arm.cc", 1968 "src/regexp/arm/regexp-macro-assembler-arm.cc", 1969 "src/regexp/arm/regexp-macro-assembler-arm.h", 1970 ] 1971 } else if (v8_current_cpu == "arm64") { 1972 sources += [ ### gcmole(arch:arm64) ### 1973 "src/arm64/assembler-arm64-inl.h", 1974 "src/arm64/assembler-arm64.cc", 1975 "src/arm64/assembler-arm64.h", 1976 "src/arm64/code-stubs-arm64.cc", 1977 "src/arm64/code-stubs-arm64.h", 1978 "src/arm64/codegen-arm64.cc", 1979 "src/arm64/codegen-arm64.h", 1980 "src/arm64/constants-arm64.h", 1981 "src/arm64/cpu-arm64.cc", 1982 "src/arm64/decoder-arm64-inl.h", 1983 "src/arm64/decoder-arm64.cc", 1984 "src/arm64/decoder-arm64.h", 1985 "src/arm64/deoptimizer-arm64.cc", 1986 "src/arm64/disasm-arm64.cc", 1987 "src/arm64/disasm-arm64.h", 1988 "src/arm64/eh-frame-arm64.cc", 1989 "src/arm64/frames-arm64.cc", 1990 "src/arm64/frames-arm64.h", 1991 "src/arm64/instructions-arm64.cc", 1992 "src/arm64/instructions-arm64.h", 1993 "src/arm64/instrument-arm64.cc", 1994 "src/arm64/instrument-arm64.h", 1995 "src/arm64/interface-descriptors-arm64.cc", 1996 "src/arm64/interface-descriptors-arm64.h", 1997 "src/arm64/macro-assembler-arm64-inl.h", 1998 "src/arm64/macro-assembler-arm64.cc", 1999 "src/arm64/macro-assembler-arm64.h", 2000 "src/arm64/simulator-arm64.cc", 2001 "src/arm64/simulator-arm64.h", 2002 "src/arm64/utils-arm64.cc", 2003 "src/arm64/utils-arm64.h", 2004 "src/builtins/arm64/builtins-arm64.cc", 2005 "src/compiler/arm64/code-generator-arm64.cc", 2006 "src/compiler/arm64/instruction-codes-arm64.h", 2007 "src/compiler/arm64/instruction-scheduler-arm64.cc", 2008 "src/compiler/arm64/instruction-selector-arm64.cc", 2009 "src/compiler/arm64/unwinding-info-writer-arm64.cc", 2010 "src/compiler/arm64/unwinding-info-writer-arm64.h", 2011 "src/crankshaft/arm64/delayed-masm-arm64-inl.h", 2012 "src/crankshaft/arm64/delayed-masm-arm64.cc", 2013 "src/crankshaft/arm64/delayed-masm-arm64.h", 2014 "src/crankshaft/arm64/lithium-arm64.cc", 2015 "src/crankshaft/arm64/lithium-arm64.h", 2016 "src/crankshaft/arm64/lithium-codegen-arm64.cc", 2017 "src/crankshaft/arm64/lithium-codegen-arm64.h", 2018 "src/crankshaft/arm64/lithium-gap-resolver-arm64.cc", 2019 "src/crankshaft/arm64/lithium-gap-resolver-arm64.h", 2020 "src/debug/arm64/debug-arm64.cc", 2021 "src/full-codegen/arm64/full-codegen-arm64.cc", 2022 "src/ic/arm64/access-compiler-arm64.cc", 2023 "src/ic/arm64/handler-compiler-arm64.cc", 2024 "src/ic/arm64/ic-arm64.cc", 2025 "src/regexp/arm64/regexp-macro-assembler-arm64.cc", 2026 "src/regexp/arm64/regexp-macro-assembler-arm64.h", 2027 ] 2028 } else if (v8_current_cpu == "mips" || v8_current_cpu == "mipsel") { 2029 sources += [ ### gcmole(arch:mipsel) ### 2030 "src/builtins/mips/builtins-mips.cc", 2031 "src/compiler/mips/code-generator-mips.cc", 2032 "src/compiler/mips/instruction-codes-mips.h", 2033 "src/compiler/mips/instruction-scheduler-mips.cc", 2034 "src/compiler/mips/instruction-selector-mips.cc", 2035 "src/crankshaft/mips/lithium-codegen-mips.cc", 2036 "src/crankshaft/mips/lithium-codegen-mips.h", 2037 "src/crankshaft/mips/lithium-gap-resolver-mips.cc", 2038 "src/crankshaft/mips/lithium-gap-resolver-mips.h", 2039 "src/crankshaft/mips/lithium-mips.cc", 2040 "src/crankshaft/mips/lithium-mips.h", 2041 "src/debug/mips/debug-mips.cc", 2042 "src/full-codegen/mips/full-codegen-mips.cc", 2043 "src/ic/mips/access-compiler-mips.cc", 2044 "src/ic/mips/handler-compiler-mips.cc", 2045 "src/ic/mips/ic-mips.cc", 2046 "src/mips/assembler-mips-inl.h", 2047 "src/mips/assembler-mips.cc", 2048 "src/mips/assembler-mips.h", 2049 "src/mips/code-stubs-mips.cc", 2050 "src/mips/code-stubs-mips.h", 2051 "src/mips/codegen-mips.cc", 2052 "src/mips/codegen-mips.h", 2053 "src/mips/constants-mips.cc", 2054 "src/mips/constants-mips.h", 2055 "src/mips/cpu-mips.cc", 2056 "src/mips/deoptimizer-mips.cc", 2057 "src/mips/disasm-mips.cc", 2058 "src/mips/frames-mips.cc", 2059 "src/mips/frames-mips.h", 2060 "src/mips/interface-descriptors-mips.cc", 2061 "src/mips/macro-assembler-mips.cc", 2062 "src/mips/macro-assembler-mips.h", 2063 "src/mips/simulator-mips.cc", 2064 "src/mips/simulator-mips.h", 2065 "src/regexp/mips/regexp-macro-assembler-mips.cc", 2066 "src/regexp/mips/regexp-macro-assembler-mips.h", 2067 ] 2068 } else if (v8_current_cpu == "mips64" || v8_current_cpu == "mips64el") { 2069 sources += [ ### gcmole(arch:mips64el) ### 2070 "src/builtins/mips64/builtins-mips64.cc", 2071 "src/compiler/mips64/code-generator-mips64.cc", 2072 "src/compiler/mips64/instruction-codes-mips64.h", 2073 "src/compiler/mips64/instruction-scheduler-mips64.cc", 2074 "src/compiler/mips64/instruction-selector-mips64.cc", 2075 "src/crankshaft/mips64/lithium-codegen-mips64.cc", 2076 "src/crankshaft/mips64/lithium-codegen-mips64.h", 2077 "src/crankshaft/mips64/lithium-gap-resolver-mips64.cc", 2078 "src/crankshaft/mips64/lithium-gap-resolver-mips64.h", 2079 "src/crankshaft/mips64/lithium-mips64.cc", 2080 "src/crankshaft/mips64/lithium-mips64.h", 2081 "src/debug/mips64/debug-mips64.cc", 2082 "src/full-codegen/mips64/full-codegen-mips64.cc", 2083 "src/ic/mips64/access-compiler-mips64.cc", 2084 "src/ic/mips64/handler-compiler-mips64.cc", 2085 "src/ic/mips64/ic-mips64.cc", 2086 "src/mips64/assembler-mips64-inl.h", 2087 "src/mips64/assembler-mips64.cc", 2088 "src/mips64/assembler-mips64.h", 2089 "src/mips64/code-stubs-mips64.cc", 2090 "src/mips64/code-stubs-mips64.h", 2091 "src/mips64/codegen-mips64.cc", 2092 "src/mips64/codegen-mips64.h", 2093 "src/mips64/constants-mips64.cc", 2094 "src/mips64/constants-mips64.h", 2095 "src/mips64/cpu-mips64.cc", 2096 "src/mips64/deoptimizer-mips64.cc", 2097 "src/mips64/disasm-mips64.cc", 2098 "src/mips64/frames-mips64.cc", 2099 "src/mips64/frames-mips64.h", 2100 "src/mips64/interface-descriptors-mips64.cc", 2101 "src/mips64/macro-assembler-mips64.cc", 2102 "src/mips64/macro-assembler-mips64.h", 2103 "src/mips64/simulator-mips64.cc", 2104 "src/mips64/simulator-mips64.h", 2105 "src/regexp/mips64/regexp-macro-assembler-mips64.cc", 2106 "src/regexp/mips64/regexp-macro-assembler-mips64.h", 2107 ] 2108 } else if (v8_current_cpu == "ppc" || v8_current_cpu == "ppc64") { 2109 sources += [ ### gcmole(arch:ppc) ### 2110 "src/builtins/ppc/builtins-ppc.cc", 2111 "src/compiler/ppc/code-generator-ppc.cc", 2112 "src/compiler/ppc/instruction-codes-ppc.h", 2113 "src/compiler/ppc/instruction-scheduler-ppc.cc", 2114 "src/compiler/ppc/instruction-selector-ppc.cc", 2115 "src/crankshaft/ppc/lithium-codegen-ppc.cc", 2116 "src/crankshaft/ppc/lithium-codegen-ppc.h", 2117 "src/crankshaft/ppc/lithium-gap-resolver-ppc.cc", 2118 "src/crankshaft/ppc/lithium-gap-resolver-ppc.h", 2119 "src/crankshaft/ppc/lithium-ppc.cc", 2120 "src/crankshaft/ppc/lithium-ppc.h", 2121 "src/debug/ppc/debug-ppc.cc", 2122 "src/full-codegen/ppc/full-codegen-ppc.cc", 2123 "src/ic/ppc/access-compiler-ppc.cc", 2124 "src/ic/ppc/handler-compiler-ppc.cc", 2125 "src/ic/ppc/ic-ppc.cc", 2126 "src/ppc/assembler-ppc-inl.h", 2127 "src/ppc/assembler-ppc.cc", 2128 "src/ppc/assembler-ppc.h", 2129 "src/ppc/code-stubs-ppc.cc", 2130 "src/ppc/code-stubs-ppc.h", 2131 "src/ppc/codegen-ppc.cc", 2132 "src/ppc/codegen-ppc.h", 2133 "src/ppc/constants-ppc.cc", 2134 "src/ppc/constants-ppc.h", 2135 "src/ppc/cpu-ppc.cc", 2136 "src/ppc/deoptimizer-ppc.cc", 2137 "src/ppc/disasm-ppc.cc", 2138 "src/ppc/frames-ppc.cc", 2139 "src/ppc/frames-ppc.h", 2140 "src/ppc/interface-descriptors-ppc.cc", 2141 "src/ppc/macro-assembler-ppc.cc", 2142 "src/ppc/macro-assembler-ppc.h", 2143 "src/ppc/simulator-ppc.cc", 2144 "src/ppc/simulator-ppc.h", 2145 "src/regexp/ppc/regexp-macro-assembler-ppc.cc", 2146 "src/regexp/ppc/regexp-macro-assembler-ppc.h", 2147 ] 2148 } else if (v8_current_cpu == "s390" || v8_current_cpu == "s390x") { 2149 sources += [ ### gcmole(arch:s390) ### 2150 "src/builtins/s390/builtins-s390.cc", 2151 "src/compiler/s390/code-generator-s390.cc", 2152 "src/compiler/s390/instruction-codes-s390.h", 2153 "src/compiler/s390/instruction-scheduler-s390.cc", 2154 "src/compiler/s390/instruction-selector-s390.cc", 2155 "src/crankshaft/s390/lithium-codegen-s390.cc", 2156 "src/crankshaft/s390/lithium-codegen-s390.h", 2157 "src/crankshaft/s390/lithium-gap-resolver-s390.cc", 2158 "src/crankshaft/s390/lithium-gap-resolver-s390.h", 2159 "src/crankshaft/s390/lithium-s390.cc", 2160 "src/crankshaft/s390/lithium-s390.h", 2161 "src/debug/s390/debug-s390.cc", 2162 "src/full-codegen/s390/full-codegen-s390.cc", 2163 "src/ic/s390/access-compiler-s390.cc", 2164 "src/ic/s390/handler-compiler-s390.cc", 2165 "src/ic/s390/ic-s390.cc", 2166 "src/regexp/s390/regexp-macro-assembler-s390.cc", 2167 "src/regexp/s390/regexp-macro-assembler-s390.h", 2168 "src/s390/assembler-s390-inl.h", 2169 "src/s390/assembler-s390.cc", 2170 "src/s390/assembler-s390.h", 2171 "src/s390/code-stubs-s390.cc", 2172 "src/s390/code-stubs-s390.h", 2173 "src/s390/codegen-s390.cc", 2174 "src/s390/codegen-s390.h", 2175 "src/s390/constants-s390.cc", 2176 "src/s390/constants-s390.h", 2177 "src/s390/cpu-s390.cc", 2178 "src/s390/deoptimizer-s390.cc", 2179 "src/s390/disasm-s390.cc", 2180 "src/s390/frames-s390.cc", 2181 "src/s390/frames-s390.h", 2182 "src/s390/interface-descriptors-s390.cc", 2183 "src/s390/macro-assembler-s390.cc", 2184 "src/s390/macro-assembler-s390.h", 2185 "src/s390/simulator-s390.cc", 2186 "src/s390/simulator-s390.h", 2187 ] 2188 } else if (v8_current_cpu == "x87") { 2189 sources += [ ### gcmole(arch:x87) ### 2190 "src/builtins/x87/builtins-x87.cc", 2191 "src/compiler/x87/code-generator-x87.cc", 2192 "src/compiler/x87/instruction-codes-x87.h", 2193 "src/compiler/x87/instruction-scheduler-x87.cc", 2194 "src/compiler/x87/instruction-selector-x87.cc", 2195 "src/crankshaft/x87/lithium-codegen-x87.cc", 2196 "src/crankshaft/x87/lithium-codegen-x87.h", 2197 "src/crankshaft/x87/lithium-gap-resolver-x87.cc", 2198 "src/crankshaft/x87/lithium-gap-resolver-x87.h", 2199 "src/crankshaft/x87/lithium-x87.cc", 2200 "src/crankshaft/x87/lithium-x87.h", 2201 "src/debug/x87/debug-x87.cc", 2202 "src/full-codegen/x87/full-codegen-x87.cc", 2203 "src/ic/x87/access-compiler-x87.cc", 2204 "src/ic/x87/handler-compiler-x87.cc", 2205 "src/ic/x87/ic-x87.cc", 2206 "src/regexp/x87/regexp-macro-assembler-x87.cc", 2207 "src/regexp/x87/regexp-macro-assembler-x87.h", 2208 "src/x87/assembler-x87-inl.h", 2209 "src/x87/assembler-x87.cc", 2210 "src/x87/assembler-x87.h", 2211 "src/x87/code-stubs-x87.cc", 2212 "src/x87/code-stubs-x87.h", 2213 "src/x87/codegen-x87.cc", 2214 "src/x87/codegen-x87.h", 2215 "src/x87/cpu-x87.cc", 2216 "src/x87/deoptimizer-x87.cc", 2217 "src/x87/disasm-x87.cc", 2218 "src/x87/frames-x87.cc", 2219 "src/x87/frames-x87.h", 2220 "src/x87/interface-descriptors-x87.cc", 2221 "src/x87/macro-assembler-x87.cc", 2222 "src/x87/macro-assembler-x87.h", 2223 "src/x87/simulator-x87.cc", 2224 "src/x87/simulator-x87.h", 2225 ] 2226 } 2227 2228 configs = [ ":internal_config" ] 2229 2230 defines = [] 2231 deps = [ 2232 ":v8_libbase", 2233 ":v8_libsampler", 2234 ":v8_version", 2235 ] 2236 2237 sources += [ v8_generated_peephole_source ] 2238 deps += [ ":run_mkpeephole" ] 2239 2240 if (is_win) { 2241 # TODO(jschuh): crbug.com/167187 fix size_t to int truncations. 2242 cflags = [ "/wd4267" ] 2243 } 2244 2245 if (v8_enable_i18n_support) { 2246 deps += [ "//third_party/icu" ] 2247 if (is_win) { 2248 deps += [ "//third_party/icu:icudata" ] 2249 } 2250 } else { 2251 sources -= [ 2252 "src/i18n.cc", 2253 "src/i18n.h", 2254 ] 2255 } 2256 2257 if (v8_postmortem_support) { 2258 sources += [ "$target_gen_dir/debug-support.cc" ] 2259 deps += [ ":postmortem-metadata" ] 2260 } 2261 2262 if (v8_enable_inspector) { 2263 deps += [ "src/inspector:inspector" ] 2264 } 2265 } 2266 2267 v8_component("v8_libbase") { 2268 sources = [ 2269 "src/base/adapters.h", 2270 "src/base/atomic-utils.h", 2271 "src/base/atomicops.h", 2272 "src/base/atomicops_internals_atomicword_compat.h", 2273 "src/base/atomicops_internals_portable.h", 2274 "src/base/atomicops_internals_x86_msvc.h", 2275 "src/base/base-export.h", 2276 "src/base/bits.cc", 2277 "src/base/bits.h", 2278 "src/base/build_config.h", 2279 "src/base/compiler-specific.h", 2280 "src/base/cpu.cc", 2281 "src/base/cpu.h", 2282 "src/base/debug/stack_trace.cc", 2283 "src/base/debug/stack_trace.h", 2284 "src/base/division-by-constant.cc", 2285 "src/base/division-by-constant.h", 2286 "src/base/file-utils.cc", 2287 "src/base/file-utils.h", 2288 "src/base/flags.h", 2289 "src/base/format-macros.h", 2290 "src/base/free_deleter.h", 2291 "src/base/functional.cc", 2292 "src/base/functional.h", 2293 "src/base/hashmap-entry.h", 2294 "src/base/hashmap.h", 2295 "src/base/ieee754.cc", 2296 "src/base/ieee754.h", 2297 "src/base/iterator.h", 2298 "src/base/lazy-instance.h", 2299 "src/base/logging.cc", 2300 "src/base/logging.h", 2301 "src/base/macros.h", 2302 "src/base/once.cc", 2303 "src/base/once.h", 2304 "src/base/platform/condition-variable.cc", 2305 "src/base/platform/condition-variable.h", 2306 "src/base/platform/elapsed-timer.h", 2307 "src/base/platform/mutex.cc", 2308 "src/base/platform/mutex.h", 2309 "src/base/platform/platform.h", 2310 "src/base/platform/semaphore.cc", 2311 "src/base/platform/semaphore.h", 2312 "src/base/platform/time.cc", 2313 "src/base/platform/time.h", 2314 "src/base/ring-buffer.h", 2315 "src/base/safe_conversions.h", 2316 "src/base/safe_conversions_impl.h", 2317 "src/base/safe_math.h", 2318 "src/base/safe_math_impl.h", 2319 "src/base/sys-info.cc", 2320 "src/base/sys-info.h", 2321 "src/base/utils/random-number-generator.cc", 2322 "src/base/utils/random-number-generator.h", 2323 ] 2324 2325 configs = [ ":internal_config_base" ] 2326 2327 public_configs = [ ":libbase_config" ] 2328 2329 defines = [] 2330 2331 if (is_component_build) { 2332 defines = [ "BUILDING_V8_BASE_SHARED" ] 2333 } 2334 2335 if (is_posix) { 2336 sources += [ "src/base/platform/platform-posix.cc" ] 2337 } 2338 2339 if (is_linux) { 2340 sources += [ 2341 "src/base/debug/stack_trace_posix.cc", 2342 "src/base/platform/platform-linux.cc", 2343 ] 2344 2345 libs = [ 2346 "dl", 2347 "rt", 2348 ] 2349 } else if (is_android) { 2350 if (current_toolchain == host_toolchain) { 2351 libs = [ 2352 "dl", 2353 "rt", 2354 ] 2355 if (host_os == "mac") { 2356 sources += [ 2357 "src/base/debug/stack_trace_posix.cc", 2358 "src/base/platform/platform-macos.cc", 2359 ] 2360 } else { 2361 sources += [ 2362 "src/base/debug/stack_trace_posix.cc", 2363 "src/base/platform/platform-linux.cc", 2364 ] 2365 } 2366 } else { 2367 sources += [ 2368 "src/base/debug/stack_trace_android.cc", 2369 "src/base/platform/platform-linux.cc", 2370 ] 2371 } 2372 } else if (is_mac) { 2373 sources += [ 2374 "src/base/debug/stack_trace_posix.cc", 2375 "src/base/platform/platform-macos.cc", 2376 ] 2377 } else if (is_win) { 2378 # TODO(jochen): Add support for cygwin. 2379 sources += [ 2380 "src/base/debug/stack_trace_win.cc", 2381 "src/base/platform/platform-win32.cc", 2382 "src/base/win32-headers.h", 2383 ] 2384 2385 defines += [ "_CRT_RAND_S" ] # for rand_s() 2386 2387 libs = [ 2388 "dbghelp.lib", 2389 "shlwapi.lib", 2390 "winmm.lib", 2391 "ws2_32.lib", 2392 ] 2393 } 2394 2395 # TODO(jochen): Add support for qnx, freebsd, openbsd, netbsd, and solaris. 2396 } 2397 2398 v8_component("v8_libplatform") { 2399 sources = [ 2400 "//base/trace_event/common/trace_event_common.h", 2401 "include/libplatform/libplatform-export.h", 2402 "include/libplatform/libplatform.h", 2403 "include/libplatform/v8-tracing.h", 2404 "src/libplatform/default-platform.cc", 2405 "src/libplatform/default-platform.h", 2406 "src/libplatform/task-queue.cc", 2407 "src/libplatform/task-queue.h", 2408 "src/libplatform/tracing/trace-buffer.cc", 2409 "src/libplatform/tracing/trace-buffer.h", 2410 "src/libplatform/tracing/trace-config.cc", 2411 "src/libplatform/tracing/trace-object.cc", 2412 "src/libplatform/tracing/trace-writer.cc", 2413 "src/libplatform/tracing/trace-writer.h", 2414 "src/libplatform/tracing/tracing-controller.cc", 2415 "src/libplatform/worker-thread.cc", 2416 "src/libplatform/worker-thread.h", 2417 ] 2418 2419 configs = [ ":internal_config_base" ] 2420 2421 if (is_component_build) { 2422 defines = [ "BUILDING_V8_PLATFORM_SHARED" ] 2423 } 2424 2425 public_configs = [ ":libplatform_config" ] 2426 2427 deps = [ 2428 ":v8_libbase", 2429 ] 2430 } 2431 2432 v8_source_set("v8_libsampler") { 2433 sources = [ 2434 "src/libsampler/sampler.cc", 2435 "src/libsampler/sampler.h", 2436 ] 2437 2438 configs = [ ":internal_config_base" ] 2439 2440 public_configs = [ ":libsampler_config" ] 2441 2442 deps = [ 2443 ":v8_libbase", 2444 ] 2445 } 2446 2447 v8_source_set("fuzzer_support") { 2448 visibility = [ ":*" ] # Only targets in this file can depend on this. 2449 2450 sources = [ 2451 "test/fuzzer/fuzzer-support.cc", 2452 "test/fuzzer/fuzzer-support.h", 2453 ] 2454 2455 configs = [ ":internal_config_base" ] 2456 2457 deps = [ 2458 ":v8", 2459 ] 2460 2461 public_deps = [ 2462 ":v8_libbase", 2463 ":v8_libplatform", 2464 ] 2465 2466 if (v8_enable_i18n_support) { 2467 deps += [ "//third_party/icu" ] 2468 } 2469 } 2470 2471 ############################################################################### 2472 # Executables 2473 # 2474 2475 if (current_toolchain == v8_snapshot_toolchain) { 2476 v8_executable("mksnapshot") { 2477 visibility = [ ":*" ] # Only targets in this file can depend on this. 2478 2479 sources = [ 2480 "src/snapshot/mksnapshot.cc", 2481 ] 2482 2483 configs = [ ":internal_config" ] 2484 2485 deps = [ 2486 ":v8_base", 2487 ":v8_libbase", 2488 ":v8_libplatform", 2489 ":v8_nosnapshot", 2490 "//build/config/sanitizers:deps", 2491 "//build/win:default_exe_manifest", 2492 ] 2493 } 2494 } 2495 2496 v8_executable("mkpeephole") { 2497 # mkpeephole needs to be built for the build host so the peephole lookup 2498 # table can built during build. The table depends on the properties of 2499 # bytecodes that are described in bytecodes.{cc,h}. 2500 visibility = [ ":*" ] # Only targets in this file can depend on this. 2501 2502 sources = [ 2503 "src/interpreter/bytecode-operands.cc", 2504 "src/interpreter/bytecode-operands.h", 2505 "src/interpreter/bytecode-peephole-optimizer.h", 2506 "src/interpreter/bytecode-traits.h", 2507 "src/interpreter/bytecodes.cc", 2508 "src/interpreter/bytecodes.h", 2509 "src/interpreter/mkpeephole.cc", 2510 ] 2511 2512 configs = [ 2513 ":external_config", 2514 ":internal_config", 2515 ] 2516 2517 deps = [ 2518 ":v8_libbase", 2519 "//build/config/sanitizers:deps", 2520 "//build/win:default_exe_manifest", 2521 ] 2522 } 2523 2524 ############################################################################### 2525 # Public targets 2526 # 2527 2528 want_v8_shell = 2529 (current_toolchain == host_toolchain && v8_toolset_for_shell == "host") || 2530 (current_toolchain == v8_snapshot_toolchain && 2531 v8_toolset_for_shell == "host") || 2532 (current_toolchain != host_toolchain && v8_toolset_for_shell == "target") 2533 2534 group("gn_all") { 2535 testonly = true 2536 2537 deps = [ 2538 ":d8", 2539 ":v8_fuzzers", 2540 ":v8_hello_world", 2541 ":v8_parser_shell", 2542 ":v8_sample_process", 2543 "test:gn_all", 2544 "tools:gn_all", 2545 ] 2546 2547 if (want_v8_shell) { 2548 deps += [ ":v8_shell" ] 2549 } 2550 2551 if (v8_test_isolation_mode != "noop") { 2552 deps += [ ":d8_run" ] 2553 } 2554 } 2555 2556 group("v8_clusterfuzz") { 2557 deps = [ 2558 ":d8", 2559 ] 2560 2561 if (v8_multi_arch_build) { 2562 deps += [ 2563 ":d8(//build/toolchain/linux:clang_x64)", 2564 ":d8(//build/toolchain/linux:clang_x64_v8_arm64)", 2565 ":d8(//build/toolchain/linux:clang_x86)", 2566 ":d8(//build/toolchain/linux:clang_x86_v8_arm)", 2567 ] 2568 } 2569 } 2570 2571 group("v8_fuzzers") { 2572 testonly = true 2573 deps = [ 2574 ":v8_simple_json_fuzzer", 2575 ":v8_simple_parser_fuzzer", 2576 ":v8_simple_regexp_fuzzer", 2577 ":v8_simple_wasm_asmjs_fuzzer", 2578 ":v8_simple_wasm_call_fuzzer", 2579 ":v8_simple_wasm_code_fuzzer", 2580 ":v8_simple_wasm_data_section_fuzzer", 2581 ":v8_simple_wasm_function_sigs_section_fuzzer", 2582 ":v8_simple_wasm_fuzzer", 2583 ":v8_simple_wasm_globals_section_fuzzer", 2584 ":v8_simple_wasm_imports_section_fuzzer", 2585 ":v8_simple_wasm_memory_section_fuzzer", 2586 ":v8_simple_wasm_names_section_fuzzer", 2587 ":v8_simple_wasm_types_section_fuzzer", 2588 ] 2589 } 2590 2591 if (is_component_build) { 2592 v8_component("v8") { 2593 sources = [ 2594 "src/v8dll-main.cc", 2595 ] 2596 2597 deps = [ 2598 ":v8_dump_build_config", 2599 ] 2600 2601 public_deps = [ 2602 ":v8_base", 2603 ":v8_maybe_snapshot", 2604 ] 2605 2606 configs = [ ":internal_config" ] 2607 2608 public_configs = [ ":external_config" ] 2609 } 2610 } else { 2611 group("v8") { 2612 deps = [ 2613 ":v8_dump_build_config", 2614 ] 2615 2616 public_deps = [ 2617 ":v8_base", 2618 ":v8_maybe_snapshot", 2619 ] 2620 2621 public_configs = [ ":external_config" ] 2622 } 2623 } 2624 2625 v8_executable("d8") { 2626 sources = [ 2627 "$target_gen_dir/d8-js.cc", 2628 "src/d8.cc", 2629 "src/d8.h", 2630 ] 2631 2632 configs = [ 2633 # Note: don't use :internal_config here because this target will get 2634 # the :external_config applied to it by virtue of depending on :v8, and 2635 # you can't have both applied to the same target. 2636 ":internal_config_base", 2637 ] 2638 2639 deps = [ 2640 ":d8_js2c", 2641 ":v8", 2642 ":v8_libbase", 2643 ":v8_libplatform", 2644 "//build/config/sanitizers:deps", 2645 "//build/win:default_exe_manifest", 2646 ] 2647 2648 if (is_posix) { 2649 sources += [ "src/d8-posix.cc" ] 2650 } else if (is_win) { 2651 sources += [ "src/d8-windows.cc" ] 2652 } 2653 2654 if (v8_enable_i18n_support) { 2655 deps += [ "//third_party/icu" ] 2656 } 2657 2658 if (v8_correctness_fuzzer) { 2659 deps += [ "tools/foozzie:v8_correctness_fuzzer_resources" ] 2660 } 2661 2662 defines = [] 2663 if (v8_enable_inspector) { 2664 defines += [ "V8_INSPECTOR_ENABLED" ] 2665 } 2666 2667 if (v8_enable_vtunejit) { 2668 deps += [ "//src/third_party/vtune:v8_vtune" ] 2669 } 2670 } 2671 2672 v8_isolate_run("d8") { 2673 deps = [ 2674 ":d8", 2675 ] 2676 2677 isolate = "//src/d8.isolate" 2678 } 2679 2680 v8_executable("v8_hello_world") { 2681 sources = [ 2682 "samples/hello-world.cc", 2683 ] 2684 2685 configs = [ 2686 # Note: don't use :internal_config here because this target will get 2687 # the :external_config applied to it by virtue of depending on :v8, and 2688 # you can't have both applied to the same target. 2689 ":internal_config_base", 2690 ] 2691 2692 deps = [ 2693 ":v8", 2694 ":v8_libbase", 2695 ":v8_libplatform", 2696 "//build/config/sanitizers:deps", 2697 "//build/win:default_exe_manifest", 2698 ] 2699 2700 if (v8_enable_i18n_support) { 2701 deps += [ "//third_party/icu" ] 2702 } 2703 } 2704 2705 v8_executable("v8_sample_process") { 2706 sources = [ 2707 "samples/process.cc", 2708 ] 2709 2710 configs = [ 2711 # Note: don't use :internal_config here because this target will get 2712 # the :external_config applied to it by virtue of depending on :v8, and 2713 # you can't have both applied to the same target. 2714 ":internal_config_base", 2715 ] 2716 2717 deps = [ 2718 ":v8", 2719 ":v8_libbase", 2720 ":v8_libplatform", 2721 "//build/config/sanitizers:deps", 2722 "//build/win:default_exe_manifest", 2723 ] 2724 2725 if (v8_enable_i18n_support) { 2726 deps += [ "//third_party/icu" ] 2727 } 2728 } 2729 2730 v8_executable("v8_parser_shell") { 2731 sources = [ 2732 "tools/parser-shell.cc", 2733 "tools/shell-utils.h", 2734 ] 2735 2736 configs = [ 2737 ":external_config", 2738 ":internal_config_base", 2739 ] 2740 2741 deps = [ 2742 ":v8", 2743 ":v8_libbase", 2744 ":v8_libplatform", 2745 "//build/config/sanitizers:deps", 2746 "//build/win:default_exe_manifest", 2747 ] 2748 2749 if (v8_enable_i18n_support) { 2750 deps += [ "//third_party/icu" ] 2751 } 2752 } 2753 2754 if (want_v8_shell) { 2755 v8_executable("v8_shell") { 2756 sources = [ 2757 "samples/shell.cc", 2758 ] 2759 2760 configs = [ 2761 # Note: don't use :internal_config here because this target will get 2762 # the :external_config applied to it by virtue of depending on :v8, and 2763 # you can't have both applied to the same target. 2764 ":internal_config_base", 2765 ] 2766 2767 deps = [ 2768 ":v8", 2769 ":v8_libbase", 2770 ":v8_libplatform", 2771 "//build/config/sanitizers:deps", 2772 "//build/win:default_exe_manifest", 2773 ] 2774 2775 if (v8_enable_i18n_support) { 2776 deps += [ "//third_party/icu" ] 2777 } 2778 } 2779 } 2780 2781 template("v8_fuzzer") { 2782 name = target_name 2783 forward_variables_from(invoker, "*") 2784 v8_executable("v8_simple_" + name) { 2785 deps = [ 2786 ":" + name, 2787 "//build/config/sanitizers:deps", 2788 "//build/win:default_exe_manifest", 2789 ] 2790 2791 sources = [ 2792 "test/fuzzer/fuzzer.cc", 2793 ] 2794 2795 configs = [ ":external_config" ] 2796 } 2797 } 2798 2799 v8_source_set("json_fuzzer") { 2800 sources = [ 2801 "test/fuzzer/json.cc", 2802 ] 2803 2804 deps = [ 2805 ":fuzzer_support", 2806 ] 2807 2808 configs = [ 2809 ":external_config", 2810 ":internal_config_base", 2811 ] 2812 } 2813 2814 v8_fuzzer("json_fuzzer") { 2815 } 2816 2817 v8_source_set("parser_fuzzer") { 2818 sources = [ 2819 "test/fuzzer/parser.cc", 2820 ] 2821 2822 deps = [ 2823 ":fuzzer_support", 2824 ] 2825 2826 configs = [ 2827 ":external_config", 2828 ":internal_config_base", 2829 ] 2830 } 2831 2832 v8_fuzzer("parser_fuzzer") { 2833 } 2834 2835 v8_source_set("regexp_fuzzer") { 2836 sources = [ 2837 "test/fuzzer/regexp.cc", 2838 ] 2839 2840 deps = [ 2841 ":fuzzer_support", 2842 ] 2843 2844 configs = [ 2845 ":external_config", 2846 ":internal_config_base", 2847 ] 2848 } 2849 2850 v8_fuzzer("regexp_fuzzer") { 2851 } 2852 2853 v8_source_set("wasm_module_runner") { 2854 sources = [ 2855 "test/common/wasm/wasm-module-runner.cc", 2856 "test/common/wasm/wasm-module-runner.h", 2857 ] 2858 2859 configs = [ 2860 ":external_config", 2861 ":internal_config_base", 2862 ] 2863 } 2864 2865 v8_source_set("wasm_test_signatures") { 2866 sources = [ 2867 "test/common/wasm/test-signatures.h", 2868 ] 2869 2870 configs = [ 2871 ":external_config", 2872 ":internal_config_base", 2873 ] 2874 } 2875 2876 v8_source_set("wasm_fuzzer") { 2877 sources = [ 2878 "test/fuzzer/wasm.cc", 2879 ] 2880 2881 deps = [ 2882 ":fuzzer_support", 2883 ":wasm_module_runner", 2884 ] 2885 2886 configs = [ 2887 ":external_config", 2888 ":internal_config_base", 2889 ] 2890 } 2891 2892 v8_fuzzer("wasm_fuzzer") { 2893 } 2894 2895 v8_source_set("wasm_asmjs_fuzzer") { 2896 sources = [ 2897 "test/fuzzer/wasm-asmjs.cc", 2898 ] 2899 2900 deps = [ 2901 ":fuzzer_support", 2902 ":wasm_module_runner", 2903 ] 2904 2905 configs = [ 2906 ":external_config", 2907 ":internal_config_base", 2908 ] 2909 } 2910 2911 v8_fuzzer("wasm_asmjs_fuzzer") { 2912 } 2913 2914 v8_source_set("wasm_code_fuzzer") { 2915 sources = [ 2916 "test/fuzzer/wasm-code.cc", 2917 ] 2918 2919 deps = [ 2920 ":fuzzer_support", 2921 ":wasm_module_runner", 2922 ":wasm_test_signatures", 2923 ] 2924 2925 configs = [ 2926 ":external_config", 2927 ":internal_config_base", 2928 ] 2929 } 2930 2931 v8_fuzzer("wasm_code_fuzzer") { 2932 } 2933 2934 v8_source_set("wasm_call_fuzzer") { 2935 sources = [ 2936 "test/fuzzer/wasm-call.cc", 2937 ] 2938 2939 deps = [ 2940 ":fuzzer_support", 2941 ":wasm_module_runner", 2942 ":wasm_test_signatures", 2943 ] 2944 2945 configs = [ 2946 ":external_config", 2947 ":internal_config_base", 2948 ] 2949 } 2950 2951 v8_fuzzer("wasm_call_fuzzer") { 2952 } 2953 2954 v8_source_set("lib_wasm_section_fuzzer") { 2955 sources = [ 2956 "test/fuzzer/wasm-section-fuzzers.cc", 2957 "test/fuzzer/wasm-section-fuzzers.h", 2958 ] 2959 2960 configs = [ 2961 ":external_config", 2962 ":internal_config_base", 2963 ] 2964 } 2965 2966 v8_source_set("wasm_types_section_fuzzer") { 2967 sources = [ 2968 "test/fuzzer/wasm-types-section.cc", 2969 ] 2970 2971 deps = [ 2972 ":fuzzer_support", 2973 ":lib_wasm_section_fuzzer", 2974 ":wasm_module_runner", 2975 ] 2976 2977 configs = [ 2978 ":external_config", 2979 ":internal_config_base", 2980 ] 2981 } 2982 2983 v8_fuzzer("wasm_types_section_fuzzer") { 2984 } 2985 2986 v8_source_set("wasm_names_section_fuzzer") { 2987 sources = [ 2988 "test/fuzzer/wasm-names-section.cc", 2989 ] 2990 2991 deps = [ 2992 ":fuzzer_support", 2993 ":lib_wasm_section_fuzzer", 2994 ":wasm_module_runner", 2995 ] 2996 2997 configs = [ 2998 ":external_config", 2999 ":internal_config_base", 3000 ] 3001 } 3002 3003 v8_fuzzer("wasm_names_section_fuzzer") { 3004 } 3005 3006 v8_source_set("wasm_globals_section_fuzzer") { 3007 sources = [ 3008 "test/fuzzer/wasm-globals-section.cc", 3009 ] 3010 3011 deps = [ 3012 ":fuzzer_support", 3013 ":lib_wasm_section_fuzzer", 3014 ":wasm_module_runner", 3015 ] 3016 3017 configs = [ 3018 ":external_config", 3019 ":internal_config_base", 3020 ] 3021 } 3022 3023 v8_fuzzer("wasm_globals_section_fuzzer") { 3024 } 3025 3026 v8_source_set("wasm_imports_section_fuzzer") { 3027 sources = [ 3028 "test/fuzzer/wasm-imports-section.cc", 3029 ] 3030 3031 deps = [ 3032 ":fuzzer_support", 3033 ":lib_wasm_section_fuzzer", 3034 ":wasm_module_runner", 3035 ] 3036 3037 configs = [ 3038 ":external_config", 3039 ":internal_config_base", 3040 ] 3041 } 3042 3043 v8_fuzzer("wasm_imports_section_fuzzer") { 3044 } 3045 3046 v8_source_set("wasm_function_sigs_section_fuzzer") { 3047 sources = [ 3048 "test/fuzzer/wasm-function-sigs-section.cc", 3049 ] 3050 3051 deps = [ 3052 ":fuzzer_support", 3053 ":lib_wasm_section_fuzzer", 3054 ":wasm_module_runner", 3055 ] 3056 3057 configs = [ 3058 ":external_config", 3059 ":internal_config_base", 3060 ] 3061 } 3062 3063 v8_fuzzer("wasm_function_sigs_section_fuzzer") { 3064 } 3065 3066 v8_source_set("wasm_memory_section_fuzzer") { 3067 sources = [ 3068 "test/fuzzer/wasm-memory-section.cc", 3069 ] 3070 3071 deps = [ 3072 ":fuzzer_support", 3073 ":lib_wasm_section_fuzzer", 3074 ":wasm_module_runner", 3075 ] 3076 3077 configs = [ 3078 ":external_config", 3079 ":internal_config_base", 3080 ] 3081 } 3082 3083 v8_fuzzer("wasm_memory_section_fuzzer") { 3084 } 3085 3086 v8_source_set("wasm_data_section_fuzzer") { 3087 sources = [ 3088 "test/fuzzer/wasm-data-section.cc", 3089 ] 3090 3091 deps = [ 3092 ":fuzzer_support", 3093 ":lib_wasm_section_fuzzer", 3094 ":wasm_module_runner", 3095 ] 3096 3097 configs = [ 3098 ":external_config", 3099 ":internal_config_base", 3100 ] 3101 } 3102 3103 v8_fuzzer("wasm_data_section_fuzzer") { 3104 } 3105 3106 v8_source_set("wasm_compile_fuzzer") { 3107 sources = [ 3108 "test/fuzzer/wasm-compile.cc", 3109 ] 3110 3111 deps = [ 3112 ":fuzzer_support", 3113 ":wasm_module_runner", 3114 ":wasm_test_signatures", 3115 ] 3116 3117 configs = [ 3118 ":external_config", 3119 ":internal_config_base", 3120 ] 3121 } 3122 3123 v8_fuzzer("wasm_compile_fuzzer") { 3124 } 3125