Home | History | Annotate | Download | only in v8
      1 # Copyright 2014 The Chromium Authors. All rights reserved.
      2 # Use of this source code is governed by a BSD-style license that can be
      3 # found in the LICENSE file.
      4 
      5 import("//build/config/android/config.gni")
      6 import("//build/config/arm.gni")
      7 import("//build/config/dcheck_always_on.gni")
      8 import("//build/config/mips.gni")
      9 import("//build/config/sanitizers/sanitizers.gni")
     10 
     11 if (is_android) {
     12   import("//build/config/android/rules.gni")
     13 }
     14 
     15 import("gni/v8.gni")
     16 import("gni/isolate.gni")
     17 import("//build_overrides/v8.gni")
     18 
     19 import("snapshot_toolchain.gni")
     20 
     21 declare_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.
     76 if (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 }
     83 if (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.
     92 if (v8_object_print == "") {
     93   v8_object_print = is_debug && !v8_optimized_debug
     94 }
     95 if (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.
    102 is_target_simulator = target_cpu != v8_target_cpu
    103 
    104 v8_generated_peephole_source = "$target_gen_dir/bytecode-peephole-table.cc"
    105 v8_random_seed = "314159265"
    106 v8_toolset_for_shell = "host"
    107 
    108 ###############################################################################
    109 # Configurations
    110 #
    111 config("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 
    121 config("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.
    128 config("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.
    136 config("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.
    147 config("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.
    153 config("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.
    165 config("external_startup_data") {
    166   if (v8_use_external_startup_data) {
    167     defines = [ "V8_USE_EXTERNAL_STARTUP_DATA" ]
    168   }
    169 }
    170 
    171 config("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 
    208 config("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 
    393 action("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 
    452 action("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 
    498 action("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 
    529 action("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 
    562 action("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 
    581 if (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 
    602 if (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 
    631 action("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 
    655 action("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 
    706 action("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 
    729 action("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 
    755 source_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 
    772 v8_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 
    794 v8_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 
    826 if (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 
    851 v8_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 
   2204 v8_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 
   2335 v8_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 
   2369 v8_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 
   2384 v8_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 
   2404 v8_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 
   2416 if (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 
   2437 v8_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 
   2469 want_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 
   2475 group("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 
   2501 if (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 
   2534 v8_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 
   2575 v8_isolate_run("d8") {
   2576   deps = [
   2577     ":d8",
   2578   ]
   2579 
   2580   isolate = "//src/d8.isolate"
   2581 }
   2582 
   2583 v8_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 
   2608 v8_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 
   2633 v8_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 
   2657 if (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 
   2684 template("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 
   2698 v8_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 
   2713 v8_fuzzer("json_fuzzer") {
   2714 }
   2715 
   2716 v8_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 
   2731 v8_fuzzer("parser_fuzzer") {
   2732 }
   2733 
   2734 v8_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 
   2749 v8_fuzzer("regexp_fuzzer") {
   2750 }
   2751 
   2752 v8_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 
   2764 v8_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 
   2775 v8_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 
   2791 v8_fuzzer("wasm_fuzzer") {
   2792 }
   2793 
   2794 v8_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 
   2810 v8_fuzzer("wasm_asmjs_fuzzer") {
   2811 }
   2812 
   2813 v8_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 
   2830 v8_fuzzer("wasm_code_fuzzer") {
   2831 }
   2832 
   2833 v8_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 
   2850 v8_fuzzer("wasm_call_fuzzer") {
   2851 }
   2852 
   2853 v8_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 
   2865 v8_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 
   2882 v8_fuzzer("wasm_types_section_fuzzer") {
   2883 }
   2884 
   2885 v8_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 
   2902 v8_fuzzer("wasm_names_section_fuzzer") {
   2903 }
   2904 
   2905 v8_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 
   2922 v8_fuzzer("wasm_globals_section_fuzzer") {
   2923 }
   2924 
   2925 v8_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 
   2942 v8_fuzzer("wasm_imports_section_fuzzer") {
   2943 }
   2944 
   2945 v8_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 
   2962 v8_fuzzer("wasm_function_sigs_section_fuzzer") {
   2963 }
   2964 
   2965 v8_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 
   2982 v8_fuzzer("wasm_memory_section_fuzzer") {
   2983 }
   2984 
   2985 v8_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 
   3002 v8_fuzzer("wasm_data_section_fuzzer") {
   3003 }
   3004