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