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/mips.gni") 8import("//build/config/sanitizers/sanitizers.gni") 9 10if (is_android) { 11 import("//build/config/android/rules.gni") 12} 13 14# Because standalone V8 builds are not supported, assume this is part of a 15# Chromium build. 16import("//build_overrides/v8.gni") 17 18import("snapshot_toolchain.gni") 19 20declare_args() { 21 # Enable the snapshot feature, for fast context creation. 22 # http://v8project.blogspot.com/2015/09/custom-startup-snapshots.html 23 v8_use_snapshot = true 24} 25 26# TODO(jochen): These will need to be user-settable to support standalone V8 27# builds. 28v8_deprecation_warnings = false 29v8_enable_disassembler = false 30v8_enable_gdbjit = false 31v8_enable_handle_zapping = true 32v8_enable_i18n_support = true 33v8_enable_verify_heap = false 34v8_interpreted_regexp = false 35v8_object_print = false 36v8_postmortem_support = false 37v8_random_seed = "314159265" 38v8_toolset_for_d8 = "host" 39 40if (is_msan) { 41 # Running the V8-generated code on an ARM simulator is a powerful hack that 42 # allows the tool to see the memory accesses from JITted code. Without this 43 # flag, JS code causes false positive reports from MSan. 44 v8_target_arch = "arm64" 45} else { 46 v8_target_arch = target_cpu 47} 48 49############################################################################### 50# Configurations 51# 52config("internal_config") { 53 visibility = [ ":*" ] # Only targets in this file can depend on this. 54 55 include_dirs = [ "." ] 56 57 if (is_component_build) { 58 defines = [ 59 "V8_SHARED", 60 "BUILDING_V8_SHARED", 61 ] 62 } 63} 64 65config("internal_config_base") { 66 visibility = [ ":*" ] # Only targets in this file can depend on this. 67 68 include_dirs = [ "." ] 69} 70 71# This config should only be applied to code using V8 and not any V8 code 72# itself. 73config("external_config") { 74 if (is_component_build) { 75 defines = [ 76 "V8_SHARED", 77 "USING_V8_SHARED", 78 ] 79 } 80 include_dirs = [ "include" ] 81} 82 83# This config should only be applied to code that needs to be explicitly 84# aware of whether we are using startup data or not. 85config("external_startup_data") { 86 if (v8_use_external_startup_data) { 87 defines = [ "V8_USE_EXTERNAL_STARTUP_DATA" ] 88 } 89} 90 91config("features") { 92 visibility = [ ":*" ] # Only targets in this file can depend on this. 93 94 defines = [] 95 96 if (v8_enable_disassembler == true) { 97 defines += [ "ENABLE_DISASSEMBLER" ] 98 } 99 if (v8_enable_gdbjit == true) { 100 defines += [ "ENABLE_GDB_JIT_INTERFACE" ] 101 } 102 if (v8_object_print == true) { 103 defines += [ "OBJECT_PRINT" ] 104 } 105 if (v8_enable_verify_heap == true) { 106 defines += [ "VERIFY_HEAP" ] 107 } 108 if (v8_interpreted_regexp == true) { 109 defines += [ "V8_INTERPRETED_REGEXP" ] 110 } 111 if (v8_deprecation_warnings == true) { 112 defines += [ "V8_DEPRECATION_WARNINGS" ] 113 } 114 if (v8_enable_i18n_support == true) { 115 defines += [ "V8_I18N_SUPPORT" ] 116 } 117 if (v8_enable_handle_zapping == true) { 118 defines += [ "ENABLE_HANDLE_ZAPPING" ] 119 } 120 if (v8_use_external_startup_data == true) { 121 defines += [ "V8_USE_EXTERNAL_STARTUP_DATA" ] 122 } 123} 124 125config("toolchain") { 126 visibility = [ ":*" ] # Only targets in this file can depend on this. 127 128 defines = [] 129 cflags = [] 130 131 # TODO(jochen): Add support for arm subarchs, mips, mipsel, mips64el. 132 133 if (v8_target_arch == "arm") { 134 defines += [ "V8_TARGET_ARCH_ARM" ] 135 if (current_cpu == "arm") { 136 if (arm_version == 7) { 137 defines += [ "CAN_USE_ARMV7_INSTRUCTIONS" ] 138 } 139 if (arm_fpu == "vfpv3-d16") { 140 defines += [ "CAN_USE_VFP3_INSTRUCTIONS" ] 141 } else if (arm_fpu == "vfpv3") { 142 defines += [ 143 "CAN_USE_VFP3_INSTRUCTIONS", 144 "CAN_USE_VFP32DREGS", 145 ] 146 } else if (arm_fpu == "neon") { 147 defines += [ 148 "CAN_USE_VFP3_INSTRUCTIONS", 149 "CAN_USE_VFP32DREGS", 150 "CAN_USE_NEON", 151 ] 152 } 153 } else { 154 # These defines ares used for the ARM simulator. 155 defines += [ 156 "CAN_USE_ARMV7_INSTRUCTIONS", 157 "CAN_USE_VFP3_INSTRUCTIONS", 158 "CAN_USE_VFP32DREGS", 159 "USE_EABI_HARDFLOAT=0", 160 ] 161 } 162 163 # TODO(jochen): Add support for arm_test_noprobe. 164 } 165 if (v8_target_arch == "arm64") { 166 defines += [ "V8_TARGET_ARCH_ARM64" ] 167 } 168 if (v8_target_arch == "mipsel") { 169 defines += [ "V8_TARGET_ARCH_MIPS" ] 170 } 171 if (v8_target_arch == "mips64el") { 172 defines += [ "V8_TARGET_ARCH_MIPS64" ] 173 } 174 if (v8_target_arch == "s390") { 175 defines += [ "V8_TARGET_ARCH_S390" ] 176 } 177 if (v8_target_arch == "s390x") { 178 defines += [ 179 "V8_TARGET_ARCH_S390", 180 "V8_TARGET_ARCH_S390X", 181 ] 182 } 183 if (v8_target_arch == "x86") { 184 defines += [ "V8_TARGET_ARCH_IA32" ] 185 } 186 if (v8_target_arch == "x64") { 187 defines += [ "V8_TARGET_ARCH_X64" ] 188 } 189 190 if (is_win) { 191 defines += [ "WIN32" ] 192 # TODO(jochen): Support v8_enable_prof. 193 } 194 195 # TODO(jochen): Add support for compiling with simulators. 196 197 if (is_debug) { 198 # TODO(jochen): Add support for different debug optimization levels. 199 defines += [ 200 "ENABLE_DISASSEMBLER", 201 "V8_ENABLE_CHECKS", 202 "OBJECT_PRINT", 203 "VERIFY_HEAP", 204 "DEBUG", 205 "OPTIMIZED_DEBUG", 206 ] 207 } 208} 209 210############################################################################### 211# Actions 212# 213 214action("js2c") { 215 visibility = [ ":*" ] # Only targets in this file can depend on this. 216 217 script = "tools/js2c.py" 218 219 # The script depends on this other script, this rule causes a rebuild if it 220 # changes. 221 inputs = [ "tools/jsmin.py" ] 222 223 sources = [ 224 "src/js/macros.py", 225 "src/messages.h", 226 "src/js/prologue.js", 227 "src/js/runtime.js", 228 "src/js/v8natives.js", 229 "src/js/symbol.js", 230 "src/js/array.js", 231 "src/js/string.js", 232 "src/js/uri.js", 233 "src/js/math.js", 234 "src/third_party/fdlibm/fdlibm.js", 235 "src/js/regexp.js", 236 "src/js/arraybuffer.js", 237 "src/js/typedarray.js", 238 "src/js/iterator-prototype.js", 239 "src/js/generator.js", 240 "src/js/object-observe.js", 241 "src/js/collection.js", 242 "src/js/weak-collection.js", 243 "src/js/collection-iterator.js", 244 "src/js/promise.js", 245 "src/js/messages.js", 246 "src/js/json.js", 247 "src/js/array-iterator.js", 248 "src/js/string-iterator.js", 249 "src/js/templates.js", 250 "src/js/spread.js", 251 "src/debug/mirrors.js", 252 "src/debug/debug.js", 253 "src/debug/liveedit.js", 254 ] 255 256 outputs = [ 257 "$target_gen_dir/libraries.cc", 258 ] 259 260 if (v8_enable_i18n_support) { 261 sources += [ "src/js/i18n.js" ] 262 } 263 264 args = [ 265 rebase_path("$target_gen_dir/libraries.cc", root_build_dir), 266 "CORE", 267 ] + rebase_path(sources, root_build_dir) 268 269 if (v8_use_external_startup_data) { 270 outputs += [ "$target_gen_dir/libraries.bin" ] 271 args += [ 272 "--startup_blob", 273 rebase_path("$target_gen_dir/libraries.bin", root_build_dir), 274 ] 275 } 276} 277 278action("js2c_experimental") { 279 visibility = [ ":*" ] # Only targets in this file can depend on this. 280 281 script = "tools/js2c.py" 282 283 # The script depends on this other script, this rule causes a rebuild if it 284 # changes. 285 inputs = [ "tools/jsmin.py" ] 286 287 sources = [ 288 "src/js/macros.py", 289 "src/messages.h", 290 "src/js/proxy.js", 291 "src/js/generator.js", 292 "src/js/harmony-atomics.js", 293 "src/js/harmony-regexp.js", 294 "src/js/harmony-reflect.js", 295 "src/js/harmony-object-observe.js", 296 "src/js/harmony-sharedarraybuffer.js", 297 "src/js/harmony-simd.js", 298 "src/js/harmony-species.js", 299 "src/js/harmony-unicode-regexps.js", 300 "src/js/promise-extra.js" 301 ] 302 303 outputs = [ 304 "$target_gen_dir/experimental-libraries.cc", 305 ] 306 307 args = [ 308 rebase_path("$target_gen_dir/experimental-libraries.cc", 309 root_build_dir), 310 "EXPERIMENTAL", 311 ] + rebase_path(sources, root_build_dir) 312 313 if (v8_use_external_startup_data) { 314 outputs += [ "$target_gen_dir/libraries_experimental.bin" ] 315 args += [ 316 "--startup_blob", 317 rebase_path("$target_gen_dir/libraries_experimental.bin", root_build_dir), 318 ] 319 } 320} 321 322action("js2c_extras") { 323 visibility = [ ":*" ] # Only targets in this file can depend on this. 324 325 script = "tools/js2c.py" 326 327 # The script depends on this other script, this rule causes a rebuild if it 328 # changes. 329 inputs = [ "tools/jsmin.py" ] 330 331 sources = v8_extra_library_files 332 333 outputs = [ 334 "$target_gen_dir/extras-libraries.cc", 335 ] 336 337 args = [ 338 rebase_path("$target_gen_dir/extras-libraries.cc", 339 root_build_dir), 340 "EXTRAS", 341 ] + rebase_path(sources, root_build_dir) 342 343 if (v8_use_external_startup_data) { 344 outputs += [ "$target_gen_dir/libraries_extras.bin" ] 345 args += [ 346 "--startup_blob", 347 rebase_path("$target_gen_dir/libraries_extras.bin", root_build_dir), 348 ] 349 } 350} 351 352action("js2c_experimental_extras") { 353 visibility = [ ":*" ] # Only targets in this file can depend on this. 354 355 script = "tools/js2c.py" 356 357 # The script depends on this other script, this rule causes a rebuild if it 358 # changes. 359 inputs = [ "tools/jsmin.py" ] 360 361 sources = v8_experimental_extra_library_files 362 363 outputs = [ 364 "$target_gen_dir/experimental-extras-libraries.cc", 365 ] 366 367 args = [ 368 rebase_path("$target_gen_dir/experimental-extras-libraries.cc", 369 root_build_dir), 370 "EXPERIMENTAL_EXTRAS", 371 ] + rebase_path(sources, root_build_dir) 372 373 if (v8_use_external_startup_data) { 374 outputs += [ "$target_gen_dir/libraries_experimental_extras.bin" ] 375 args += [ 376 "--startup_blob", 377 rebase_path("$target_gen_dir/libraries_experimental_extras.bin", root_build_dir), 378 ] 379 } 380} 381 382action("d8_js2c") { 383 visibility = [ ":*" ] # Only targets in this file can depend on this. 384 385 script = "tools/js2c.py" 386 387 inputs = [ 388 "src/d8.js", 389 "src/js/macros.py", 390 ] 391 392 outputs = [ 393 "$target_gen_dir/d8-js.cc", 394 ] 395 396 args = rebase_path(outputs, root_build_dir) + [ "D8" ] + 397 rebase_path(inputs, root_build_dir) 398} 399 400if (is_android) { 401 android_assets("v8_external_startup_data_assets") { 402 if (v8_use_external_startup_data) { 403 deps = [ 404 "//v8", 405 ] 406 renaming_sources = v8_external_startup_data_renaming_sources 407 renaming_destinations = v8_external_startup_data_renaming_destinations 408 disable_compression = true 409 } 410 } 411} 412 413if (v8_use_external_startup_data) { 414 action("natives_blob") { 415 visibility = [ ":*" ] # Only targets in this file can depend on this. 416 417 deps = [ 418 ":js2c", 419 ":js2c_experimental", 420 ":js2c_extras", 421 ":js2c_experimental_extras", 422 ] 423 424 sources = [ 425 "$target_gen_dir/libraries.bin", 426 "$target_gen_dir/libraries_experimental.bin", 427 "$target_gen_dir/libraries_extras.bin", 428 "$target_gen_dir/libraries_experimental_extras.bin", 429 ] 430 431 outputs = [ 432 "$root_out_dir/natives_blob.bin", 433 ] 434 435 script = "tools/concatenate-files.py" 436 437 args = rebase_path(sources + outputs, root_build_dir) 438 } 439} 440 441action("postmortem-metadata") { 442 # Only targets in this file and the top-level visibility target can 443 # depend on this. 444 visibility = [ 445 ":*", 446 "//:gn_visibility", 447 ] 448 449 script = "tools/gen-postmortem-metadata.py" 450 451 sources = [ 452 "src/objects.h", 453 "src/objects-inl.h", 454 ] 455 456 outputs = [ 457 "$target_gen_dir/debug-support.cc", 458 ] 459 460 args = rebase_path(outputs, root_build_dir) + 461 rebase_path(sources, root_build_dir) 462} 463 464action("run_mksnapshot") { 465 visibility = [ ":*" ] # Only targets in this file can depend on this. 466 467 deps = [ 468 ":mksnapshot($snapshot_toolchain)", 469 ] 470 471 script = "tools/run.py" 472 473 outputs = [ 474 "$target_gen_dir/snapshot.cc", 475 ] 476 477 args = [ 478 "./" + rebase_path(get_label_info(":mksnapshot($snapshot_toolchain)", 479 "root_out_dir") + "/mksnapshot", 480 root_build_dir), 481 "--log-snapshot-positions", 482 "--logfile", 483 rebase_path("$target_gen_dir/snapshot.log", root_build_dir), 484 "--startup_src", 485 rebase_path("$target_gen_dir/snapshot.cc", root_build_dir), 486 ] 487 488 if (v8_random_seed != "0") { 489 args += [ 490 "--random-seed", 491 v8_random_seed, 492 ] 493 } 494 495 if (v8_use_external_startup_data) { 496 outputs += [ "$root_out_dir/snapshot_blob.bin" ] 497 args += [ 498 "--startup_blob", 499 rebase_path("$root_out_dir/snapshot_blob.bin", root_build_dir), 500 ] 501 } 502} 503 504############################################################################### 505# Source Sets (aka static libraries) 506# 507 508source_set("v8_nosnapshot") { 509 visibility = [ ":*" ] # Only targets in this file can depend on this. 510 511 deps = [ 512 ":js2c", 513 ":js2c_experimental", 514 ":js2c_extras", 515 ":js2c_experimental_extras", 516 ":v8_base", 517 ] 518 519 sources = [ 520 "$target_gen_dir/libraries.cc", 521 "$target_gen_dir/experimental-libraries.cc", 522 "$target_gen_dir/extras-libraries.cc", 523 "$target_gen_dir/experimental-extras-libraries.cc", 524 "src/snapshot/snapshot-empty.cc", 525 ] 526 527 configs -= [ "//build/config/compiler:chromium_code" ] 528 configs += [ "//build/config/compiler:no_chromium_code" ] 529 configs += [ 530 ":internal_config", 531 ":features", 532 ":toolchain", 533 ] 534} 535 536source_set("v8_snapshot") { 537 # Only targets in this file and the top-level visibility target can 538 # depend on this. 539 visibility = [ 540 ":*", 541 "//:gn_visibility", 542 ] 543 544 deps = [ 545 ":js2c", 546 ":js2c_experimental", 547 ":js2c_extras", 548 ":js2c_experimental_extras", 549 ":v8_base", 550 ] 551 public_deps = [ 552 # This should be public so downstream targets can declare the snapshot 553 # output file as their inputs. 554 ":run_mksnapshot", 555 ] 556 557 sources = [ 558 "$target_gen_dir/libraries.cc", 559 "$target_gen_dir/experimental-libraries.cc", 560 "$target_gen_dir/extras-libraries.cc", 561 "$target_gen_dir/experimental-extras-libraries.cc", 562 "$target_gen_dir/snapshot.cc", 563 ] 564 565 configs -= [ "//build/config/compiler:chromium_code" ] 566 configs += [ "//build/config/compiler:no_chromium_code" ] 567 configs += [ 568 ":internal_config", 569 ":features", 570 ":toolchain", 571 ] 572} 573 574if (v8_use_external_startup_data) { 575 source_set("v8_external_snapshot") { 576 visibility = [ ":*" ] # Only targets in this file can depend on this. 577 578 deps = [ 579 ":js2c", 580 ":js2c_experimental", 581 ":js2c_extras", 582 ":js2c_experimental_extras", 583 ":v8_base", 584 ] 585 public_deps = [ 586 ":natives_blob", 587 ":run_mksnapshot", 588 ] 589 590 sources = [ 591 "src/snapshot/natives-external.cc", 592 "src/snapshot/snapshot-external.cc", 593 ] 594 595 configs -= [ "//build/config/compiler:chromium_code" ] 596 configs += [ "//build/config/compiler:no_chromium_code" ] 597 configs += [ 598 ":internal_config", 599 ":features", 600 ":toolchain", 601 ] 602 } 603} 604 605source_set("v8_base") { 606 visibility = [ ":*" ] # Only targets in this file can depend on this. 607 608 sources = [ 609 # TODO(fmeawad): This needs to be updated to support standalone V8 builds. 610 "../base/trace_event/common/trace_event_common.h", 611 "include/v8-debug.h", 612 "include/v8-experimental.h", 613 "include/v8-platform.h", 614 "include/v8-profiler.h", 615 "include/v8-testing.h", 616 "include/v8-util.h", 617 "include/v8-version.h", 618 "include/v8.h", 619 "include/v8config.h", 620 "src/accessors.cc", 621 "src/accessors.h", 622 "src/address-map.cc", 623 "src/address-map.h", 624 "src/allocation.cc", 625 "src/allocation.h", 626 "src/allocation-site-scopes.cc", 627 "src/allocation-site-scopes.h", 628 "src/api.cc", 629 "src/api.h", 630 "src/api-experimental.cc", 631 "src/api-experimental.h", 632 "src/api-natives.cc", 633 "src/api-natives.h", 634 "src/arguments.cc", 635 "src/arguments.h", 636 "src/assembler.cc", 637 "src/assembler.h", 638 "src/assert-scope.h", 639 "src/assert-scope.cc", 640 "src/ast/ast-expression-rewriter.cc", 641 "src/ast/ast-expression-rewriter.h", 642 "src/ast/ast-expression-visitor.cc", 643 "src/ast/ast-expression-visitor.h", 644 "src/ast/ast-literal-reindexer.cc", 645 "src/ast/ast-literal-reindexer.h", 646 "src/ast/ast-numbering.cc", 647 "src/ast/ast-numbering.h", 648 "src/ast/ast-value-factory.cc", 649 "src/ast/ast-value-factory.h", 650 "src/ast/ast.cc", 651 "src/ast/ast.h", 652 "src/ast/modules.cc", 653 "src/ast/modules.h", 654 "src/ast/prettyprinter.cc", 655 "src/ast/prettyprinter.h", 656 "src/ast/scopeinfo.cc", 657 "src/ast/scopeinfo.h", 658 "src/ast/scopes.cc", 659 "src/ast/scopes.h", 660 "src/ast/variables.cc", 661 "src/ast/variables.h", 662 "src/atomic-utils.h", 663 "src/background-parsing-task.cc", 664 "src/background-parsing-task.h", 665 "src/bailout-reason.cc", 666 "src/bailout-reason.h", 667 "src/basic-block-profiler.cc", 668 "src/basic-block-profiler.h", 669 "src/bignum-dtoa.cc", 670 "src/bignum-dtoa.h", 671 "src/bignum.cc", 672 "src/bignum.h", 673 "src/bit-vector.cc", 674 "src/bit-vector.h", 675 "src/bootstrapper.cc", 676 "src/bootstrapper.h", 677 "src/builtins.cc", 678 "src/builtins.h", 679 "src/cancelable-task.cc", 680 "src/cancelable-task.h", 681 "src/cached-powers.cc", 682 "src/cached-powers.h", 683 "src/char-predicates.cc", 684 "src/char-predicates-inl.h", 685 "src/char-predicates.h", 686 "src/checks.h", 687 "src/code-factory.cc", 688 "src/code-factory.h", 689 "src/code-stubs.cc", 690 "src/code-stubs.h", 691 "src/code-stubs-hydrogen.cc", 692 "src/codegen.cc", 693 "src/codegen.h", 694 "src/compilation-cache.cc", 695 "src/compilation-cache.h", 696 "src/compilation-dependencies.cc", 697 "src/compilation-dependencies.h", 698 "src/compilation-statistics.cc", 699 "src/compilation-statistics.h", 700 "src/compiler/access-builder.cc", 701 "src/compiler/access-builder.h", 702 "src/compiler/access-info.cc", 703 "src/compiler/access-info.h", 704 "src/compiler/all-nodes.cc", 705 "src/compiler/all-nodes.h", 706 "src/compiler/ast-graph-builder.cc", 707 "src/compiler/ast-graph-builder.h", 708 "src/compiler/ast-loop-assignment-analyzer.cc", 709 "src/compiler/ast-loop-assignment-analyzer.h", 710 "src/compiler/basic-block-instrumentor.cc", 711 "src/compiler/basic-block-instrumentor.h", 712 "src/compiler/branch-elimination.cc", 713 "src/compiler/branch-elimination.h", 714 "src/compiler/bytecode-branch-analysis.cc", 715 "src/compiler/bytecode-branch-analysis.h", 716 "src/compiler/bytecode-graph-builder.cc", 717 "src/compiler/bytecode-graph-builder.h", 718 "src/compiler/change-lowering.cc", 719 "src/compiler/change-lowering.h", 720 "src/compiler/c-linkage.cc", 721 "src/compiler/coalesced-live-ranges.cc", 722 "src/compiler/coalesced-live-ranges.h", 723 "src/compiler/code-generator-impl.h", 724 "src/compiler/code-generator.cc", 725 "src/compiler/code-generator.h", 726 "src/compiler/code-stub-assembler.cc", 727 "src/compiler/code-stub-assembler.h", 728 "src/compiler/common-node-cache.cc", 729 "src/compiler/common-node-cache.h", 730 "src/compiler/common-operator-reducer.cc", 731 "src/compiler/common-operator-reducer.h", 732 "src/compiler/common-operator.cc", 733 "src/compiler/common-operator.h", 734 "src/compiler/control-builders.cc", 735 "src/compiler/control-builders.h", 736 "src/compiler/control-equivalence.cc", 737 "src/compiler/control-equivalence.h", 738 "src/compiler/control-flow-optimizer.cc", 739 "src/compiler/control-flow-optimizer.h", 740 "src/compiler/dead-code-elimination.cc", 741 "src/compiler/dead-code-elimination.h", 742 "src/compiler/diamond.h", 743 "src/compiler/escape-analysis.cc", 744 "src/compiler/escape-analysis.h", 745 "src/compiler/escape-analysis-reducer.cc", 746 "src/compiler/escape-analysis-reducer.h", 747 "src/compiler/fast-accessor-assembler.cc", 748 "src/compiler/fast-accessor-assembler.h", 749 "src/compiler/frame.cc", 750 "src/compiler/frame.h", 751 "src/compiler/frame-elider.cc", 752 "src/compiler/frame-elider.h", 753 "src/compiler/frame-states.cc", 754 "src/compiler/frame-states.h", 755 "src/compiler/gap-resolver.cc", 756 "src/compiler/gap-resolver.h", 757 "src/compiler/graph-reducer.cc", 758 "src/compiler/graph-reducer.h", 759 "src/compiler/graph-replay.cc", 760 "src/compiler/graph-replay.h", 761 "src/compiler/graph-trimmer.cc", 762 "src/compiler/graph-trimmer.h", 763 "src/compiler/graph-visualizer.cc", 764 "src/compiler/graph-visualizer.h", 765 "src/compiler/graph.cc", 766 "src/compiler/graph.h", 767 "src/compiler/greedy-allocator.cc", 768 "src/compiler/greedy-allocator.h", 769 "src/compiler/instruction-codes.h", 770 "src/compiler/instruction-scheduler.cc", 771 "src/compiler/instruction-scheduler.h", 772 "src/compiler/instruction-selector-impl.h", 773 "src/compiler/instruction-selector.cc", 774 "src/compiler/instruction-selector.h", 775 "src/compiler/instruction.cc", 776 "src/compiler/instruction.h", 777 "src/compiler/interpreter-assembler.cc", 778 "src/compiler/interpreter-assembler.h", 779 "src/compiler/js-builtin-reducer.cc", 780 "src/compiler/js-builtin-reducer.h", 781 "src/compiler/js-call-reducer.cc", 782 "src/compiler/js-call-reducer.h", 783 "src/compiler/js-context-relaxation.cc", 784 "src/compiler/js-context-relaxation.h", 785 "src/compiler/js-context-specialization.cc", 786 "src/compiler/js-context-specialization.h", 787 "src/compiler/js-frame-specialization.cc", 788 "src/compiler/js-frame-specialization.h", 789 "src/compiler/js-generic-lowering.cc", 790 "src/compiler/js-generic-lowering.h", 791 "src/compiler/js-global-object-specialization.cc", 792 "src/compiler/js-global-object-specialization.h", 793 "src/compiler/js-graph.cc", 794 "src/compiler/js-graph.h", 795 "src/compiler/js-inlining.cc", 796 "src/compiler/js-inlining.h", 797 "src/compiler/js-inlining-heuristic.cc", 798 "src/compiler/js-inlining-heuristic.h", 799 "src/compiler/js-intrinsic-lowering.cc", 800 "src/compiler/js-intrinsic-lowering.h", 801 "src/compiler/js-native-context-specialization.cc", 802 "src/compiler/js-native-context-specialization.h", 803 "src/compiler/js-operator.cc", 804 "src/compiler/js-operator.h", 805 "src/compiler/js-typed-lowering.cc", 806 "src/compiler/js-typed-lowering.h", 807 "src/compiler/jump-threading.cc", 808 "src/compiler/jump-threading.h", 809 "src/compiler/linkage.cc", 810 "src/compiler/linkage.h", 811 "src/compiler/live-range-separator.cc", 812 "src/compiler/live-range-separator.h", 813 "src/compiler/liveness-analyzer.cc", 814 "src/compiler/liveness-analyzer.h", 815 "src/compiler/load-elimination.cc", 816 "src/compiler/load-elimination.h", 817 "src/compiler/loop-peeling.cc", 818 "src/compiler/loop-analysis.cc", 819 "src/compiler/loop-analysis.h", 820 "src/compiler/machine-operator-reducer.cc", 821 "src/compiler/machine-operator-reducer.h", 822 "src/compiler/machine-operator.cc", 823 "src/compiler/machine-operator.h", 824 "src/compiler/move-optimizer.cc", 825 "src/compiler/move-optimizer.h", 826 "src/compiler/node-aux-data.h", 827 "src/compiler/node-cache.cc", 828 "src/compiler/node-cache.h", 829 "src/compiler/node-marker.cc", 830 "src/compiler/node-marker.h", 831 "src/compiler/node-matchers.cc", 832 "src/compiler/node-matchers.h", 833 "src/compiler/node-properties.cc", 834 "src/compiler/node-properties.h", 835 "src/compiler/node.cc", 836 "src/compiler/node.h", 837 "src/compiler/opcodes.cc", 838 "src/compiler/opcodes.h", 839 "src/compiler/operator-properties.cc", 840 "src/compiler/operator-properties.h", 841 "src/compiler/operator.cc", 842 "src/compiler/operator.h", 843 "src/compiler/osr.cc", 844 "src/compiler/osr.h", 845 "src/compiler/pipeline.cc", 846 "src/compiler/pipeline.h", 847 "src/compiler/pipeline-statistics.cc", 848 "src/compiler/pipeline-statistics.h", 849 "src/compiler/raw-machine-assembler.cc", 850 "src/compiler/raw-machine-assembler.h", 851 "src/compiler/register-allocator.cc", 852 "src/compiler/register-allocator.h", 853 "src/compiler/register-allocator-verifier.cc", 854 "src/compiler/register-allocator-verifier.h", 855 "src/compiler/representation-change.cc", 856 "src/compiler/representation-change.h", 857 "src/compiler/schedule.cc", 858 "src/compiler/schedule.h", 859 "src/compiler/scheduler.cc", 860 "src/compiler/scheduler.h", 861 "src/compiler/select-lowering.cc", 862 "src/compiler/select-lowering.h", 863 "src/compiler/simplified-lowering.cc", 864 "src/compiler/simplified-lowering.h", 865 "src/compiler/simplified-operator-reducer.cc", 866 "src/compiler/simplified-operator-reducer.h", 867 "src/compiler/simplified-operator.cc", 868 "src/compiler/simplified-operator.h", 869 "src/compiler/source-position.cc", 870 "src/compiler/source-position.h", 871 "src/compiler/state-values-utils.cc", 872 "src/compiler/state-values-utils.h", 873 "src/compiler/tail-call-optimization.cc", 874 "src/compiler/tail-call-optimization.h", 875 "src/compiler/type-hint-analyzer.cc", 876 "src/compiler/type-hint-analyzer.h", 877 "src/compiler/type-hints.cc", 878 "src/compiler/type-hints.h", 879 "src/compiler/typer.cc", 880 "src/compiler/typer.h", 881 "src/compiler/value-numbering-reducer.cc", 882 "src/compiler/value-numbering-reducer.h", 883 "src/compiler/verifier.cc", 884 "src/compiler/verifier.h", 885 "src/compiler/wasm-compiler.cc", 886 "src/compiler/wasm-compiler.h", 887 "src/compiler/wasm-linkage.cc", 888 "src/compiler/zone-pool.cc", 889 "src/compiler/zone-pool.h", 890 "src/compiler.cc", 891 "src/compiler.h", 892 "src/context-measure.cc", 893 "src/context-measure.h", 894 "src/contexts-inl.h", 895 "src/contexts.cc", 896 "src/contexts.h", 897 "src/conversions-inl.h", 898 "src/conversions.cc", 899 "src/conversions.h", 900 "src/counters.cc", 901 "src/counters.h", 902 "src/crankshaft/hydrogen-alias-analysis.h", 903 "src/crankshaft/hydrogen-bce.cc", 904 "src/crankshaft/hydrogen-bce.h", 905 "src/crankshaft/hydrogen-bch.cc", 906 "src/crankshaft/hydrogen-bch.h", 907 "src/crankshaft/hydrogen-canonicalize.cc", 908 "src/crankshaft/hydrogen-canonicalize.h", 909 "src/crankshaft/hydrogen-check-elimination.cc", 910 "src/crankshaft/hydrogen-check-elimination.h", 911 "src/crankshaft/hydrogen-dce.cc", 912 "src/crankshaft/hydrogen-dce.h", 913 "src/crankshaft/hydrogen-dehoist.cc", 914 "src/crankshaft/hydrogen-dehoist.h", 915 "src/crankshaft/hydrogen-environment-liveness.cc", 916 "src/crankshaft/hydrogen-environment-liveness.h", 917 "src/crankshaft/hydrogen-escape-analysis.cc", 918 "src/crankshaft/hydrogen-escape-analysis.h", 919 "src/crankshaft/hydrogen-flow-engine.h", 920 "src/crankshaft/hydrogen-gvn.cc", 921 "src/crankshaft/hydrogen-gvn.h", 922 "src/crankshaft/hydrogen-infer-representation.cc", 923 "src/crankshaft/hydrogen-infer-representation.h", 924 "src/crankshaft/hydrogen-infer-types.cc", 925 "src/crankshaft/hydrogen-infer-types.h", 926 "src/crankshaft/hydrogen-instructions.cc", 927 "src/crankshaft/hydrogen-instructions.h", 928 "src/crankshaft/hydrogen-load-elimination.cc", 929 "src/crankshaft/hydrogen-load-elimination.h", 930 "src/crankshaft/hydrogen-mark-deoptimize.cc", 931 "src/crankshaft/hydrogen-mark-deoptimize.h", 932 "src/crankshaft/hydrogen-mark-unreachable.cc", 933 "src/crankshaft/hydrogen-mark-unreachable.h", 934 "src/crankshaft/hydrogen-osr.cc", 935 "src/crankshaft/hydrogen-osr.h", 936 "src/crankshaft/hydrogen-range-analysis.cc", 937 "src/crankshaft/hydrogen-range-analysis.h", 938 "src/crankshaft/hydrogen-redundant-phi.cc", 939 "src/crankshaft/hydrogen-redundant-phi.h", 940 "src/crankshaft/hydrogen-removable-simulates.cc", 941 "src/crankshaft/hydrogen-removable-simulates.h", 942 "src/crankshaft/hydrogen-representation-changes.cc", 943 "src/crankshaft/hydrogen-representation-changes.h", 944 "src/crankshaft/hydrogen-sce.cc", 945 "src/crankshaft/hydrogen-sce.h", 946 "src/crankshaft/hydrogen-store-elimination.cc", 947 "src/crankshaft/hydrogen-store-elimination.h", 948 "src/crankshaft/hydrogen-types.cc", 949 "src/crankshaft/hydrogen-types.h", 950 "src/crankshaft/hydrogen-uint32-analysis.cc", 951 "src/crankshaft/hydrogen-uint32-analysis.h", 952 "src/crankshaft/hydrogen.cc", 953 "src/crankshaft/hydrogen.h", 954 "src/crankshaft/lithium-allocator-inl.h", 955 "src/crankshaft/lithium-allocator.cc", 956 "src/crankshaft/lithium-allocator.h", 957 "src/crankshaft/lithium-codegen.cc", 958 "src/crankshaft/lithium-codegen.h", 959 "src/crankshaft/lithium.cc", 960 "src/crankshaft/lithium.h", 961 "src/crankshaft/typing.cc", 962 "src/crankshaft/typing.h", 963 "src/crankshaft/unique.h", 964 "src/date.cc", 965 "src/date.h", 966 "src/dateparser-inl.h", 967 "src/dateparser.cc", 968 "src/dateparser.h", 969 "src/debug/debug-evaluate.cc", 970 "src/debug/debug-evaluate.h", 971 "src/debug/debug-frames.cc", 972 "src/debug/debug-frames.h", 973 "src/debug/debug-scopes.cc", 974 "src/debug/debug-scopes.h", 975 "src/debug/debug.cc", 976 "src/debug/debug.h", 977 "src/debug/liveedit.cc", 978 "src/debug/liveedit.h", 979 "src/deoptimizer.cc", 980 "src/deoptimizer.h", 981 "src/disasm.h", 982 "src/disassembler.cc", 983 "src/disassembler.h", 984 "src/diy-fp.cc", 985 "src/diy-fp.h", 986 "src/double.h", 987 "src/dtoa.cc", 988 "src/dtoa.h", 989 "src/effects.h", 990 "src/elements-kind.cc", 991 "src/elements-kind.h", 992 "src/elements.cc", 993 "src/elements.h", 994 "src/execution.cc", 995 "src/execution.h", 996 "src/extensions/externalize-string-extension.cc", 997 "src/extensions/externalize-string-extension.h", 998 "src/extensions/free-buffer-extension.cc", 999 "src/extensions/free-buffer-extension.h", 1000 "src/extensions/gc-extension.cc", 1001 "src/extensions/gc-extension.h", 1002 "src/extensions/statistics-extension.cc", 1003 "src/extensions/statistics-extension.h", 1004 "src/extensions/trigger-failure-extension.cc", 1005 "src/extensions/trigger-failure-extension.h", 1006 "src/factory.cc", 1007 "src/factory.h", 1008 "src/fast-dtoa.cc", 1009 "src/fast-dtoa.h", 1010 "src/field-index.h", 1011 "src/field-index-inl.h", 1012 "src/fixed-dtoa.cc", 1013 "src/fixed-dtoa.h", 1014 "src/flag-definitions.h", 1015 "src/flags.cc", 1016 "src/flags.h", 1017 "src/frames-inl.h", 1018 "src/frames.cc", 1019 "src/frames.h", 1020 "src/full-codegen/full-codegen.cc", 1021 "src/full-codegen/full-codegen.h", 1022 "src/futex-emulation.cc", 1023 "src/futex-emulation.h", 1024 "src/gdb-jit.cc", 1025 "src/gdb-jit.h", 1026 "src/global-handles.cc", 1027 "src/global-handles.h", 1028 "src/globals.h", 1029 "src/handles-inl.h", 1030 "src/handles.cc", 1031 "src/handles.h", 1032 "src/hashmap.h", 1033 "src/heap/array-buffer-tracker.cc", 1034 "src/heap/array-buffer-tracker.h", 1035 "src/heap/gc-idle-time-handler.cc", 1036 "src/heap/gc-idle-time-handler.h", 1037 "src/heap/gc-tracer.cc", 1038 "src/heap/gc-tracer.h", 1039 "src/heap/heap-inl.h", 1040 "src/heap/heap.cc", 1041 "src/heap/heap.h", 1042 "src/heap/incremental-marking-job.cc", 1043 "src/heap/incremental-marking-job.h", 1044 "src/heap/incremental-marking.cc", 1045 "src/heap/incremental-marking.h", 1046 "src/heap/mark-compact-inl.h", 1047 "src/heap/mark-compact.cc", 1048 "src/heap/mark-compact.h", 1049 "src/heap/memory-reducer.cc", 1050 "src/heap/memory-reducer.h", 1051 "src/heap/object-stats.cc", 1052 "src/heap/object-stats.h", 1053 "src/heap/objects-visiting-inl.h", 1054 "src/heap/objects-visiting.cc", 1055 "src/heap/objects-visiting.h", 1056 "src/heap/scavenge-job.h", 1057 "src/heap/scavenge-job.cc", 1058 "src/heap/scavenger-inl.h", 1059 "src/heap/scavenger.cc", 1060 "src/heap/scavenger.h", 1061 "src/heap/slots-buffer.cc", 1062 "src/heap/slots-buffer.h", 1063 "src/heap/spaces-inl.h", 1064 "src/heap/spaces.cc", 1065 "src/heap/spaces.h", 1066 "src/heap/store-buffer-inl.h", 1067 "src/heap/store-buffer.cc", 1068 "src/heap/store-buffer.h", 1069 "src/i18n.cc", 1070 "src/i18n.h", 1071 "src/icu_util.cc", 1072 "src/icu_util.h", 1073 "src/ic/access-compiler.cc", 1074 "src/ic/access-compiler.h", 1075 "src/ic/call-optimization.cc", 1076 "src/ic/call-optimization.h", 1077 "src/ic/handler-compiler.cc", 1078 "src/ic/handler-compiler.h", 1079 "src/ic/ic-inl.h", 1080 "src/ic/ic-state.cc", 1081 "src/ic/ic-state.h", 1082 "src/ic/ic.cc", 1083 "src/ic/ic.h", 1084 "src/ic/ic-compiler.cc", 1085 "src/ic/ic-compiler.h", 1086 "src/ic/stub-cache.cc", 1087 "src/ic/stub-cache.h", 1088 "src/identity-map.cc", 1089 "src/identity-map.h", 1090 "src/interface-descriptors.cc", 1091 "src/interface-descriptors.h", 1092 "src/interpreter/bytecodes.cc", 1093 "src/interpreter/bytecodes.h", 1094 "src/interpreter/bytecode-array-builder.cc", 1095 "src/interpreter/bytecode-array-builder.h", 1096 "src/interpreter/bytecode-array-iterator.cc", 1097 "src/interpreter/bytecode-array-iterator.h", 1098 "src/interpreter/bytecode-generator.cc", 1099 "src/interpreter/bytecode-generator.h", 1100 "src/interpreter/bytecode-register-allocator.cc", 1101 "src/interpreter/bytecode-register-allocator.h", 1102 "src/interpreter/bytecode-traits.h", 1103 "src/interpreter/constant-array-builder.cc", 1104 "src/interpreter/constant-array-builder.h", 1105 "src/interpreter/control-flow-builders.cc", 1106 "src/interpreter/control-flow-builders.h", 1107 "src/interpreter/interpreter.cc", 1108 "src/interpreter/interpreter.h", 1109 "src/isolate-inl.h", 1110 "src/isolate.cc", 1111 "src/isolate.h", 1112 "src/json-stringifier.h", 1113 "src/key-accumulator.h", 1114 "src/key-accumulator.cc", 1115 "src/layout-descriptor-inl.h", 1116 "src/layout-descriptor.cc", 1117 "src/layout-descriptor.h", 1118 "src/list-inl.h", 1119 "src/list.h", 1120 "src/log-inl.h", 1121 "src/log-utils.cc", 1122 "src/log-utils.h", 1123 "src/log.cc", 1124 "src/log.h", 1125 "src/lookup.cc", 1126 "src/lookup.h", 1127 "src/macro-assembler.h", 1128 "src/machine-type.cc", 1129 "src/machine-type.h", 1130 "src/messages.cc", 1131 "src/messages.h", 1132 "src/msan.h", 1133 "src/objects-body-descriptors-inl.h", 1134 "src/objects-body-descriptors.h", 1135 "src/objects-debug.cc", 1136 "src/objects-inl.h", 1137 "src/objects-printer.cc", 1138 "src/objects.cc", 1139 "src/objects.h", 1140 "src/optimizing-compile-dispatcher.cc", 1141 "src/optimizing-compile-dispatcher.h", 1142 "src/ostreams.cc", 1143 "src/ostreams.h", 1144 "src/parsing/expression-classifier.h", 1145 "src/parsing/func-name-inferrer.cc", 1146 "src/parsing/func-name-inferrer.h", 1147 "src/parsing/json-parser.h", 1148 "src/parsing/parameter-initializer-rewriter.cc", 1149 "src/parsing/parameter-initializer-rewriter.h", 1150 "src/parsing/parser-base.h", 1151 "src/parsing/parser.cc", 1152 "src/parsing/parser.h", 1153 "src/parsing/pattern-rewriter.cc", 1154 "src/parsing/preparse-data-format.h", 1155 "src/parsing/preparse-data.cc", 1156 "src/parsing/preparse-data.h", 1157 "src/parsing/preparser.cc", 1158 "src/parsing/preparser.h", 1159 "src/parsing/rewriter.cc", 1160 "src/parsing/rewriter.h", 1161 "src/parsing/scanner-character-streams.cc", 1162 "src/parsing/scanner-character-streams.h", 1163 "src/parsing/scanner.cc", 1164 "src/parsing/scanner.h", 1165 "src/parsing/token.cc", 1166 "src/parsing/token.h", 1167 "src/pending-compilation-error-handler.cc", 1168 "src/pending-compilation-error-handler.h", 1169 "src/profiler/allocation-tracker.cc", 1170 "src/profiler/allocation-tracker.h", 1171 "src/profiler/circular-queue-inl.h", 1172 "src/profiler/circular-queue.h", 1173 "src/profiler/cpu-profiler-inl.h", 1174 "src/profiler/cpu-profiler.cc", 1175 "src/profiler/cpu-profiler.h", 1176 "src/profiler/heap-profiler.cc", 1177 "src/profiler/heap-profiler.h", 1178 "src/profiler/heap-snapshot-generator-inl.h", 1179 "src/profiler/heap-snapshot-generator.cc", 1180 "src/profiler/heap-snapshot-generator.h", 1181 "src/profiler/profile-generator-inl.h", 1182 "src/profiler/profile-generator.cc", 1183 "src/profiler/profile-generator.h", 1184 "src/profiler/sampler.cc", 1185 "src/profiler/sampler.h", 1186 "src/profiler/strings-storage.cc", 1187 "src/profiler/strings-storage.h", 1188 "src/profiler/unbound-queue-inl.h", 1189 "src/profiler/unbound-queue.h", 1190 "src/property-descriptor.cc", 1191 "src/property-descriptor.h", 1192 "src/property-details.h", 1193 "src/property.cc", 1194 "src/property.h", 1195 "src/prototype.h", 1196 "src/regexp/bytecodes-irregexp.h", 1197 "src/regexp/interpreter-irregexp.cc", 1198 "src/regexp/interpreter-irregexp.h", 1199 "src/regexp/jsregexp-inl.h", 1200 "src/regexp/jsregexp.cc", 1201 "src/regexp/jsregexp.h", 1202 "src/regexp/regexp-ast.cc", 1203 "src/regexp/regexp-ast.h", 1204 "src/regexp/regexp-macro-assembler-irregexp-inl.h", 1205 "src/regexp/regexp-macro-assembler-irregexp.cc", 1206 "src/regexp/regexp-macro-assembler-irregexp.h", 1207 "src/regexp/regexp-macro-assembler-tracer.cc", 1208 "src/regexp/regexp-macro-assembler-tracer.h", 1209 "src/regexp/regexp-macro-assembler.cc", 1210 "src/regexp/regexp-macro-assembler.h", 1211 "src/regexp/regexp-parser.cc", 1212 "src/regexp/regexp-parser.h", 1213 "src/regexp/regexp-stack.cc", 1214 "src/regexp/regexp-stack.h", 1215 "src/register-configuration.cc", 1216 "src/register-configuration.h", 1217 "src/runtime-profiler.cc", 1218 "src/runtime-profiler.h", 1219 "src/runtime/runtime-array.cc", 1220 "src/runtime/runtime-atomics.cc", 1221 "src/runtime/runtime-classes.cc", 1222 "src/runtime/runtime-collections.cc", 1223 "src/runtime/runtime-compiler.cc", 1224 "src/runtime/runtime-date.cc", 1225 "src/runtime/runtime-debug.cc", 1226 "src/runtime/runtime-forin.cc", 1227 "src/runtime/runtime-function.cc", 1228 "src/runtime/runtime-futex.cc", 1229 "src/runtime/runtime-generator.cc", 1230 "src/runtime/runtime-i18n.cc", 1231 "src/runtime/runtime-internal.cc", 1232 "src/runtime/runtime-interpreter.cc", 1233 "src/runtime/runtime-json.cc", 1234 "src/runtime/runtime-literals.cc", 1235 "src/runtime/runtime-liveedit.cc", 1236 "src/runtime/runtime-maths.cc", 1237 "src/runtime/runtime-numbers.cc", 1238 "src/runtime/runtime-object.cc", 1239 "src/runtime/runtime-observe.cc", 1240 "src/runtime/runtime-operators.cc", 1241 "src/runtime/runtime-proxy.cc", 1242 "src/runtime/runtime-regexp.cc", 1243 "src/runtime/runtime-scopes.cc", 1244 "src/runtime/runtime-simd.cc", 1245 "src/runtime/runtime-strings.cc", 1246 "src/runtime/runtime-symbol.cc", 1247 "src/runtime/runtime-test.cc", 1248 "src/runtime/runtime-typedarray.cc", 1249 "src/runtime/runtime-uri.cc", 1250 "src/runtime/runtime-utils.h", 1251 "src/runtime/runtime.cc", 1252 "src/runtime/runtime.h", 1253 "src/safepoint-table.cc", 1254 "src/safepoint-table.h", 1255 "src/signature.h", 1256 "src/simulator.h", 1257 "src/small-pointer-list.h", 1258 "src/snapshot/natives.h", 1259 "src/snapshot/natives-common.cc", 1260 "src/snapshot/serialize.cc", 1261 "src/snapshot/serialize.h", 1262 "src/snapshot/snapshot-common.cc", 1263 "src/snapshot/snapshot-source-sink.cc", 1264 "src/snapshot/snapshot-source-sink.h", 1265 "src/splay-tree.h", 1266 "src/splay-tree-inl.h", 1267 "src/snapshot/snapshot.h", 1268 "src/startup-data-util.h", 1269 "src/startup-data-util.cc", 1270 "src/string-builder.cc", 1271 "src/string-builder.h", 1272 "src/string-search.h", 1273 "src/string-stream.cc", 1274 "src/string-stream.h", 1275 "src/strtod.cc", 1276 "src/strtod.h", 1277 "src/tracing/trace-event.cc", 1278 "src/tracing/trace-event.h", 1279 "src/transitions-inl.h", 1280 "src/transitions.cc", 1281 "src/transitions.h", 1282 "src/type-cache.cc", 1283 "src/type-cache.h", 1284 "src/type-feedback-vector-inl.h", 1285 "src/type-feedback-vector.cc", 1286 "src/type-feedback-vector.h", 1287 "src/type-info.cc", 1288 "src/type-info.h", 1289 "src/types-inl.h", 1290 "src/types.cc", 1291 "src/types.h", 1292 "src/typing-asm.cc", 1293 "src/typing-asm.h", 1294 "src/typing-reset.cc", 1295 "src/typing-reset.h", 1296 "src/unicode-inl.h", 1297 "src/unicode.cc", 1298 "src/unicode.h", 1299 "src/unicode-cache-inl.h", 1300 "src/unicode-cache.h", 1301 "src/unicode-decoder.cc", 1302 "src/unicode-decoder.h", 1303 "src/utils.cc", 1304 "src/utils.h", 1305 "src/v8.cc", 1306 "src/v8.h", 1307 "src/v8memory.h", 1308 "src/v8threads.cc", 1309 "src/v8threads.h", 1310 "src/version.cc", 1311 "src/version.h", 1312 "src/vm-state-inl.h", 1313 "src/vm-state.h", 1314 "src/wasm/asm-wasm-builder.cc", 1315 "src/wasm/asm-wasm-builder.h", 1316 "src/wasm/ast-decoder.cc", 1317 "src/wasm/ast-decoder.h", 1318 "src/wasm/decoder.h", 1319 "src/wasm/encoder.cc", 1320 "src/wasm/encoder.h", 1321 "src/wasm/module-decoder.cc", 1322 "src/wasm/module-decoder.h", 1323 "src/wasm/wasm-js.cc", 1324 "src/wasm/wasm-js.h", 1325 "src/wasm/wasm-macro-gen.h", 1326 "src/wasm/wasm-module.cc", 1327 "src/wasm/wasm-module.h", 1328 "src/wasm/wasm-opcodes.cc", 1329 "src/wasm/wasm-opcodes.h", 1330 "src/wasm/wasm-result.cc", 1331 "src/wasm/wasm-result.h", 1332 "src/zone.cc", 1333 "src/zone.h", 1334 "src/zone-allocator.h", 1335 "src/zone-containers.h", 1336 "src/third_party/fdlibm/fdlibm.cc", 1337 "src/third_party/fdlibm/fdlibm.h", 1338 ] 1339 1340 if (v8_target_arch == "x86") { 1341 sources += [ 1342 "src/crankshaft/ia32/lithium-codegen-ia32.cc", 1343 "src/crankshaft/ia32/lithium-codegen-ia32.h", 1344 "src/crankshaft/ia32/lithium-gap-resolver-ia32.cc", 1345 "src/crankshaft/ia32/lithium-gap-resolver-ia32.h", 1346 "src/crankshaft/ia32/lithium-ia32.cc", 1347 "src/crankshaft/ia32/lithium-ia32.h", 1348 "src/compiler/ia32/code-generator-ia32.cc", 1349 "src/compiler/ia32/instruction-codes-ia32.h", 1350 "src/compiler/ia32/instruction-scheduler-ia32.cc", 1351 "src/compiler/ia32/instruction-selector-ia32.cc", 1352 "src/debug/ia32/debug-ia32.cc", 1353 "src/full-codegen/ia32/full-codegen-ia32.cc", 1354 "src/ia32/assembler-ia32-inl.h", 1355 "src/ia32/assembler-ia32.cc", 1356 "src/ia32/assembler-ia32.h", 1357 "src/ia32/builtins-ia32.cc", 1358 "src/ia32/code-stubs-ia32.cc", 1359 "src/ia32/code-stubs-ia32.h", 1360 "src/ia32/codegen-ia32.cc", 1361 "src/ia32/codegen-ia32.h", 1362 "src/ia32/cpu-ia32.cc", 1363 "src/ia32/deoptimizer-ia32.cc", 1364 "src/ia32/disasm-ia32.cc", 1365 "src/ia32/frames-ia32.cc", 1366 "src/ia32/frames-ia32.h", 1367 "src/ia32/interface-descriptors-ia32.cc", 1368 "src/ia32/macro-assembler-ia32.cc", 1369 "src/ia32/macro-assembler-ia32.h", 1370 "src/ic/ia32/access-compiler-ia32.cc", 1371 "src/ic/ia32/handler-compiler-ia32.cc", 1372 "src/ic/ia32/ic-ia32.cc", 1373 "src/ic/ia32/ic-compiler-ia32.cc", 1374 "src/ic/ia32/stub-cache-ia32.cc", 1375 "src/regexp/ia32/regexp-macro-assembler-ia32.cc", 1376 "src/regexp/ia32/regexp-macro-assembler-ia32.h", 1377 ] 1378 } else if (v8_target_arch == "x64") { 1379 sources += [ 1380 "src/compiler/x64/code-generator-x64.cc", 1381 "src/compiler/x64/instruction-codes-x64.h", 1382 "src/compiler/x64/instruction-scheduler-x64.cc", 1383 "src/compiler/x64/instruction-selector-x64.cc", 1384 "src/crankshaft/x64/lithium-codegen-x64.cc", 1385 "src/crankshaft/x64/lithium-codegen-x64.h", 1386 "src/crankshaft/x64/lithium-gap-resolver-x64.cc", 1387 "src/crankshaft/x64/lithium-gap-resolver-x64.h", 1388 "src/crankshaft/x64/lithium-x64.cc", 1389 "src/crankshaft/x64/lithium-x64.h", 1390 "src/debug/x64/debug-x64.cc", 1391 "src/full-codegen/x64/full-codegen-x64.cc", 1392 "src/ic/x64/access-compiler-x64.cc", 1393 "src/ic/x64/handler-compiler-x64.cc", 1394 "src/ic/x64/ic-x64.cc", 1395 "src/ic/x64/ic-compiler-x64.cc", 1396 "src/ic/x64/stub-cache-x64.cc", 1397 "src/regexp/x64/regexp-macro-assembler-x64.cc", 1398 "src/regexp/x64/regexp-macro-assembler-x64.h", 1399 "src/x64/assembler-x64-inl.h", 1400 "src/x64/assembler-x64.cc", 1401 "src/x64/assembler-x64.h", 1402 "src/x64/builtins-x64.cc", 1403 "src/x64/code-stubs-x64.cc", 1404 "src/x64/code-stubs-x64.h", 1405 "src/x64/codegen-x64.cc", 1406 "src/x64/codegen-x64.h", 1407 "src/x64/cpu-x64.cc", 1408 "src/x64/deoptimizer-x64.cc", 1409 "src/x64/disasm-x64.cc", 1410 "src/x64/frames-x64.cc", 1411 "src/x64/frames-x64.h", 1412 "src/x64/interface-descriptors-x64.cc", 1413 "src/x64/macro-assembler-x64.cc", 1414 "src/x64/macro-assembler-x64.h", 1415 ] 1416 } else if (v8_target_arch == "arm") { 1417 sources += [ 1418 "src/arm/assembler-arm-inl.h", 1419 "src/arm/assembler-arm.cc", 1420 "src/arm/assembler-arm.h", 1421 "src/arm/builtins-arm.cc", 1422 "src/arm/code-stubs-arm.cc", 1423 "src/arm/code-stubs-arm.h", 1424 "src/arm/codegen-arm.cc", 1425 "src/arm/codegen-arm.h", 1426 "src/arm/constants-arm.h", 1427 "src/arm/constants-arm.cc", 1428 "src/arm/cpu-arm.cc", 1429 "src/arm/deoptimizer-arm.cc", 1430 "src/arm/disasm-arm.cc", 1431 "src/arm/frames-arm.cc", 1432 "src/arm/frames-arm.h", 1433 "src/arm/interface-descriptors-arm.cc", 1434 "src/arm/interface-descriptors-arm.h", 1435 "src/arm/macro-assembler-arm.cc", 1436 "src/arm/macro-assembler-arm.h", 1437 "src/arm/simulator-arm.cc", 1438 "src/arm/simulator-arm.h", 1439 "src/compiler/arm/code-generator-arm.cc", 1440 "src/compiler/arm/instruction-codes-arm.h", 1441 "src/compiler/arm/instruction-scheduler-arm.cc", 1442 "src/compiler/arm/instruction-selector-arm.cc", 1443 "src/crankshaft/arm/lithium-arm.cc", 1444 "src/crankshaft/arm/lithium-arm.h", 1445 "src/crankshaft/arm/lithium-codegen-arm.cc", 1446 "src/crankshaft/arm/lithium-codegen-arm.h", 1447 "src/crankshaft/arm/lithium-gap-resolver-arm.cc", 1448 "src/crankshaft/arm/lithium-gap-resolver-arm.h", 1449 "src/debug/arm/debug-arm.cc", 1450 "src/full-codegen/arm/full-codegen-arm.cc", 1451 "src/ic/arm/access-compiler-arm.cc", 1452 "src/ic/arm/handler-compiler-arm.cc", 1453 "src/ic/arm/ic-arm.cc", 1454 "src/ic/arm/ic-compiler-arm.cc", 1455 "src/ic/arm/stub-cache-arm.cc", 1456 "src/regexp/arm/regexp-macro-assembler-arm.cc", 1457 "src/regexp/arm/regexp-macro-assembler-arm.h", 1458 ] 1459 } else if (v8_target_arch == "arm64") { 1460 sources += [ 1461 "src/arm64/assembler-arm64.cc", 1462 "src/arm64/assembler-arm64.h", 1463 "src/arm64/assembler-arm64-inl.h", 1464 "src/arm64/builtins-arm64.cc", 1465 "src/arm64/codegen-arm64.cc", 1466 "src/arm64/codegen-arm64.h", 1467 "src/arm64/code-stubs-arm64.cc", 1468 "src/arm64/code-stubs-arm64.h", 1469 "src/arm64/constants-arm64.h", 1470 "src/arm64/cpu-arm64.cc", 1471 "src/arm64/decoder-arm64.cc", 1472 "src/arm64/decoder-arm64.h", 1473 "src/arm64/decoder-arm64-inl.h", 1474 "src/arm64/deoptimizer-arm64.cc", 1475 "src/arm64/disasm-arm64.cc", 1476 "src/arm64/disasm-arm64.h", 1477 "src/arm64/frames-arm64.cc", 1478 "src/arm64/frames-arm64.h", 1479 "src/arm64/instructions-arm64.cc", 1480 "src/arm64/instructions-arm64.h", 1481 "src/arm64/instrument-arm64.cc", 1482 "src/arm64/instrument-arm64.h", 1483 "src/arm64/interface-descriptors-arm64.cc", 1484 "src/arm64/interface-descriptors-arm64.h", 1485 "src/arm64/macro-assembler-arm64.cc", 1486 "src/arm64/macro-assembler-arm64.h", 1487 "src/arm64/macro-assembler-arm64-inl.h", 1488 "src/arm64/simulator-arm64.cc", 1489 "src/arm64/simulator-arm64.h", 1490 "src/arm64/utils-arm64.cc", 1491 "src/arm64/utils-arm64.h", 1492 "src/compiler/arm64/code-generator-arm64.cc", 1493 "src/compiler/arm64/instruction-codes-arm64.h", 1494 "src/compiler/arm64/instruction-scheduler-arm64.cc", 1495 "src/compiler/arm64/instruction-selector-arm64.cc", 1496 "src/crankshaft/arm64/delayed-masm-arm64.cc", 1497 "src/crankshaft/arm64/delayed-masm-arm64.h", 1498 "src/crankshaft/arm64/delayed-masm-arm64-inl.h", 1499 "src/crankshaft/arm64/lithium-arm64.cc", 1500 "src/crankshaft/arm64/lithium-arm64.h", 1501 "src/crankshaft/arm64/lithium-codegen-arm64.cc", 1502 "src/crankshaft/arm64/lithium-codegen-arm64.h", 1503 "src/crankshaft/arm64/lithium-gap-resolver-arm64.cc", 1504 "src/crankshaft/arm64/lithium-gap-resolver-arm64.h", 1505 "src/debug/arm64/debug-arm64.cc", 1506 "src/full-codegen/arm64/full-codegen-arm64.cc", 1507 "src/ic/arm64/access-compiler-arm64.cc", 1508 "src/ic/arm64/handler-compiler-arm64.cc", 1509 "src/ic/arm64/ic-arm64.cc", 1510 "src/ic/arm64/ic-compiler-arm64.cc", 1511 "src/ic/arm64/stub-cache-arm64.cc", 1512 "src/regexp/arm64/regexp-macro-assembler-arm64.cc", 1513 "src/regexp/arm64/regexp-macro-assembler-arm64.h", 1514 ] 1515 } else if (v8_target_arch == "mipsel") { 1516 sources += [ 1517 "src/compiler/mips/code-generator-mips.cc", 1518 "src/compiler/mips/instruction-codes-mips.h", 1519 "src/compiler/mips/instruction-scheduler-mips.cc", 1520 "src/compiler/mips/instruction-selector-mips.cc", 1521 "src/crankshaft/mips/lithium-codegen-mips.cc", 1522 "src/crankshaft/mips/lithium-codegen-mips.h", 1523 "src/crankshaft/mips/lithium-gap-resolver-mips.cc", 1524 "src/crankshaft/mips/lithium-gap-resolver-mips.h", 1525 "src/crankshaft/mips/lithium-mips.cc", 1526 "src/crankshaft/mips/lithium-mips.h", 1527 "src/debug/mips/debug-mips.cc", 1528 "src/full-codegen/mips/full-codegen-mips.cc", 1529 "src/ic/mips/access-compiler-mips.cc", 1530 "src/ic/mips/handler-compiler-mips.cc", 1531 "src/ic/mips/ic-mips.cc", 1532 "src/ic/mips/ic-compiler-mips.cc", 1533 "src/ic/mips/stub-cache-mips.cc", 1534 "src/mips/assembler-mips.cc", 1535 "src/mips/assembler-mips.h", 1536 "src/mips/assembler-mips-inl.h", 1537 "src/mips/builtins-mips.cc", 1538 "src/mips/codegen-mips.cc", 1539 "src/mips/codegen-mips.h", 1540 "src/mips/code-stubs-mips.cc", 1541 "src/mips/code-stubs-mips.h", 1542 "src/mips/constants-mips.cc", 1543 "src/mips/constants-mips.h", 1544 "src/mips/cpu-mips.cc", 1545 "src/mips/deoptimizer-mips.cc", 1546 "src/mips/disasm-mips.cc", 1547 "src/mips/frames-mips.cc", 1548 "src/mips/frames-mips.h", 1549 "src/mips/interface-descriptors-mips.cc", 1550 "src/mips/macro-assembler-mips.cc", 1551 "src/mips/macro-assembler-mips.h", 1552 "src/mips/simulator-mips.cc", 1553 "src/mips/simulator-mips.h", 1554 "src/regexp/mips/regexp-macro-assembler-mips.cc", 1555 "src/regexp/mips/regexp-macro-assembler-mips.h", 1556 ] 1557 } else if (v8_target_arch == "mips64el") { 1558 sources += [ 1559 "compiler/mips64/code-generator-mips64.cc", 1560 "compiler/mips64/instruction-codes-mips64.h", 1561 "compiler/mips64/instruction-scheduler-mips64.cc", 1562 "compiler/mips64/instruction-selector-mips64.cc", 1563 "src/crankshaft/mips64/lithium-codegen-mips64.cc", 1564 "src/crankshaft/mips64/lithium-codegen-mips64.h", 1565 "src/crankshaft/mips64/lithium-gap-resolver-mips64.cc", 1566 "src/crankshaft/mips64/lithium-gap-resolver-mips64.h", 1567 "src/crankshaft/mips64/lithium-mips64.cc", 1568 "src/crankshaft/mips64/lithium-mips64.h", 1569 "src/debug/mips64/debug-mips64.cc", 1570 "src/full-codegen/mips64/full-codegen-mips64.cc", 1571 "src/ic/mips64/access-compiler-mips64.cc", 1572 "src/ic/mips64/handler-compiler-mips64.cc", 1573 "src/ic/mips64/ic-mips64.cc", 1574 "src/ic/mips64/ic-compiler-mips64.cc", 1575 "src/ic/mips64/stub-cache-mips64.cc", 1576 "src/mips64/assembler-mips64.cc", 1577 "src/mips64/assembler-mips64.h", 1578 "src/mips64/assembler-mips64-inl.h", 1579 "src/mips64/builtins-mips64.cc", 1580 "src/mips64/codegen-mips64.cc", 1581 "src/mips64/codegen-mips64.h", 1582 "src/mips64/code-stubs-mips64.cc", 1583 "src/mips64/code-stubs-mips64.h", 1584 "src/mips64/constants-mips64.cc", 1585 "src/mips64/constants-mips64.h", 1586 "src/mips64/cpu-mips64.cc", 1587 "src/mips64/deoptimizer-mips64.cc", 1588 "src/mips64/disasm-mips64.cc", 1589 "src/mips64/frames-mips64.cc", 1590 "src/mips64/frames-mips64.h", 1591 "src/mips64/interface-descriptors-mips64.cc", 1592 "src/mips64/macro-assembler-mips64.cc", 1593 "src/mips64/macro-assembler-mips64.h", 1594 "src/mips64/simulator-mips64.cc", 1595 "src/mips64/simulator-mips64.h", 1596 "src/regexp/mips64/regexp-macro-assembler-mips64.cc", 1597 "src/regexp/mips64/regexp-macro-assembler-mips64.h", 1598 ] 1599 } 1600 1601 configs -= [ "//build/config/compiler:chromium_code" ] 1602 configs += [ "//build/config/compiler:no_chromium_code" ] 1603 configs += [ 1604 ":internal_config", 1605 ":features", 1606 ":toolchain", 1607 ] 1608 1609 if (!is_debug) { 1610 configs -= [ "//build/config/compiler:default_optimization" ] 1611 configs += [ "//build/config/compiler:optimize_max" ] 1612 } 1613 1614 defines = [] 1615 deps = [ 1616 ":v8_libbase", 1617 ] 1618 1619 if (is_win) { 1620 # TODO(jschuh): crbug.com/167187 fix size_t to int truncations. 1621 cflags = [ "/wd4267" ] 1622 } 1623 1624 if (v8_enable_i18n_support) { 1625 deps += [ "//third_party/icu" ] 1626 if (is_win) { 1627 deps += [ "//third_party/icu:icudata" ] 1628 } 1629 1630 # TODO(jochen): Add support for icu_use_data_file_flag 1631 defines += [ "ICU_UTIL_DATA_IMPL=ICU_UTIL_DATA_FILE" ] 1632 } else { 1633 sources -= [ 1634 "src/i18n.cc", 1635 "src/i18n.h", 1636 ] 1637 } 1638 1639 if (v8_postmortem_support) { 1640 sources += [ "$target_gen_dir/debug-support.cc" ] 1641 deps += [ ":postmortem-metadata" ] 1642 } 1643} 1644 1645source_set("v8_libbase") { 1646 visibility = [ ":*" ] # Only targets in this file can depend on this. 1647 1648 sources = [ 1649 "src/base/adapters.h", 1650 "src/base/atomicops.h", 1651 "src/base/atomicops_internals_arm64_gcc.h", 1652 "src/base/atomicops_internals_arm_gcc.h", 1653 "src/base/atomicops_internals_atomicword_compat.h", 1654 "src/base/atomicops_internals_mac.h", 1655 "src/base/atomicops_internals_mips_gcc.h", 1656 "src/base/atomicops_internals_mips64_gcc.h", 1657 "src/base/atomicops_internals_portable.h", 1658 "src/base/atomicops_internals_tsan.h", 1659 "src/base/atomicops_internals_x86_gcc.cc", 1660 "src/base/atomicops_internals_x86_gcc.h", 1661 "src/base/atomicops_internals_x86_msvc.h", 1662 "src/base/bits.cc", 1663 "src/base/bits.h", 1664 "src/base/build_config.h", 1665 "src/base/cpu.cc", 1666 "src/base/cpu.h", 1667 "src/base/division-by-constant.cc", 1668 "src/base/division-by-constant.h", 1669 "src/base/flags.h", 1670 "src/base/functional.cc", 1671 "src/base/functional.h", 1672 "src/base/iterator.h", 1673 "src/base/lazy-instance.h", 1674 "src/base/logging.cc", 1675 "src/base/logging.h", 1676 "src/base/macros.h", 1677 "src/base/once.cc", 1678 "src/base/once.h", 1679 "src/base/platform/elapsed-timer.h", 1680 "src/base/platform/time.cc", 1681 "src/base/platform/time.h", 1682 "src/base/platform/condition-variable.cc", 1683 "src/base/platform/condition-variable.h", 1684 "src/base/platform/mutex.cc", 1685 "src/base/platform/mutex.h", 1686 "src/base/platform/platform.h", 1687 "src/base/platform/semaphore.cc", 1688 "src/base/platform/semaphore.h", 1689 "src/base/safe_conversions.h", 1690 "src/base/safe_conversions_impl.h", 1691 "src/base/safe_math.h", 1692 "src/base/safe_math_impl.h", 1693 "src/base/smart-pointers.h", 1694 "src/base/sys-info.cc", 1695 "src/base/sys-info.h", 1696 "src/base/utils/random-number-generator.cc", 1697 "src/base/utils/random-number-generator.h", 1698 ] 1699 1700 configs -= [ "//build/config/compiler:chromium_code" ] 1701 configs += [ "//build/config/compiler:no_chromium_code" ] 1702 configs += [ 1703 ":internal_config_base", 1704 ":features", 1705 ":toolchain", 1706 ] 1707 1708 if (!is_debug) { 1709 configs -= [ "//build/config/compiler:default_optimization" ] 1710 configs += [ "//build/config/compiler:optimize_max" ] 1711 } 1712 1713 defines = [] 1714 1715 if (is_posix) { 1716 sources += [ "src/base/platform/platform-posix.cc" ] 1717 } 1718 1719 if (is_linux) { 1720 sources += [ "src/base/platform/platform-linux.cc" ] 1721 1722 libs = [ "dl", "rt" ] 1723 } else if (is_android) { 1724 defines += [ "CAN_USE_VFP_INSTRUCTIONS" ] 1725 1726 if (current_toolchain == host_toolchain) { 1727 libs = [ "dl", "rt" ] 1728 if (host_os == "mac") { 1729 sources += [ "src/base/platform/platform-macos.cc" ] 1730 } else { 1731 sources += [ "src/base/platform/platform-linux.cc" ] 1732 } 1733 } else { 1734 sources += [ "src/base/platform/platform-linux.cc" ] 1735 } 1736 } else if (is_mac) { 1737 sources += [ "src/base/platform/platform-macos.cc" ] 1738 } else if (is_win) { 1739 # TODO(jochen): Add support for cygwin. 1740 sources += [ 1741 "src/base/platform/platform-win32.cc", 1742 "src/base/win32-headers.h", 1743 ] 1744 1745 defines += [ "_CRT_RAND_S" ] # for rand_s() 1746 1747 libs = [ 1748 "winmm.lib", 1749 "ws2_32.lib", 1750 ] 1751 } 1752 1753 # TODO(jochen): Add support for qnx, freebsd, openbsd, netbsd, and solaris. 1754} 1755 1756source_set("v8_libplatform") { 1757 sources = [ 1758 "include/libplatform/libplatform.h", 1759 "src/libplatform/default-platform.cc", 1760 "src/libplatform/default-platform.h", 1761 "src/libplatform/task-queue.cc", 1762 "src/libplatform/task-queue.h", 1763 "src/libplatform/worker-thread.cc", 1764 "src/libplatform/worker-thread.h", 1765 ] 1766 1767 configs -= [ "//build/config/compiler:chromium_code" ] 1768 configs += [ "//build/config/compiler:no_chromium_code" ] 1769 configs += [ 1770 ":internal_config_base", 1771 ":features", 1772 ":toolchain", 1773 ] 1774 1775 if (!is_debug) { 1776 configs -= [ "//build/config/compiler:default_optimization" ] 1777 configs += [ "//build/config/compiler:optimize_max" ] 1778 } 1779 1780 deps = [ 1781 ":v8_libbase", 1782 ] 1783} 1784 1785############################################################################### 1786# Executables 1787# 1788 1789if (current_toolchain == snapshot_toolchain) { 1790 executable("mksnapshot") { 1791 visibility = [ ":*" ] # Only targets in this file can depend on this. 1792 1793 sources = [ 1794 "src/snapshot/mksnapshot.cc", 1795 ] 1796 1797 configs -= [ "//build/config/compiler:chromium_code" ] 1798 configs += [ "//build/config/compiler:no_chromium_code" ] 1799 configs += [ 1800 ":internal_config", 1801 ":features", 1802 ":toolchain", 1803 ] 1804 1805 deps = [ 1806 ":v8_base", 1807 ":v8_libplatform", 1808 ":v8_nosnapshot", 1809 "//build/config/sanitizers:deps", 1810 ] 1811 } 1812} 1813 1814############################################################################### 1815# Public targets 1816# 1817 1818if (v8_use_snapshot && v8_use_external_startup_data) { 1819 snapshot_target = ":v8_external_snapshot" 1820} else if (v8_use_snapshot) { 1821 snapshot_target = ":v8_snapshot" 1822} else { 1823 assert(!v8_use_external_startup_data) 1824 snapshot_target = ":v8_nosnapshot" 1825} 1826 1827if (is_component_build) { 1828 component("v8") { 1829 sources = [ 1830 "src/v8dll-main.cc", 1831 ] 1832 1833 public_deps = [ 1834 ":v8_base", 1835 snapshot_target, 1836 ] 1837 1838 configs -= [ "//build/config/compiler:chromium_code" ] 1839 configs += [ "//build/config/compiler:no_chromium_code" ] 1840 configs += [ 1841 ":internal_config", 1842 ":features", 1843 ":toolchain", 1844 ] 1845 1846 public_configs = [ ":external_config" ] 1847 1848 libs = [] 1849 if (is_android && current_toolchain != host_toolchain) { 1850 libs += [ "log" ] 1851 } 1852 } 1853} else { 1854 group("v8") { 1855 public_deps = [ 1856 ":v8_base", 1857 snapshot_target, 1858 ] 1859 public_configs = [ ":external_config" ] 1860 } 1861} 1862 1863if ((current_toolchain == host_toolchain && v8_toolset_for_d8 == "host") || 1864 (current_toolchain == snapshot_toolchain && v8_toolset_for_d8 == "host") || 1865 (current_toolchain != host_toolchain && v8_toolset_for_d8 == "target")) { 1866 executable("d8") { 1867 sources = [ 1868 "src/d8.cc", 1869 "src/d8.h", 1870 ] 1871 1872 configs -= [ "//build/config/compiler:chromium_code" ] 1873 configs += [ "//build/config/compiler:no_chromium_code" ] 1874 configs += [ 1875 # Note: don't use :internal_config here because this target will get 1876 # the :external_config applied to it by virtue of depending on :v8, and 1877 # you can't have both applied to the same target. 1878 ":internal_config_base", 1879 ":features", 1880 ":toolchain", 1881 ] 1882 1883 deps = [ 1884 ":d8_js2c", 1885 ":v8", 1886 ":v8_libplatform", 1887 "//build/config/sanitizers:deps", 1888 ] 1889 1890 # TODO(jochen): Add support for vtunejit. 1891 1892 if (is_posix) { 1893 sources += [ "src/d8-posix.cc" ] 1894 } else if (is_win) { 1895 sources += [ "src/d8-windows.cc" ] 1896 } 1897 1898 if (!is_component_build) { 1899 sources += [ 1900 "$target_gen_dir/d8-js.cc", 1901 ] 1902 } 1903 if (v8_enable_i18n_support) { 1904 deps += [ "//third_party/icu" ] 1905 } 1906 } 1907} 1908