Home | History | Annotate | Download | only in mb
      1 # Copyright 2016 The V8 project 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 {
      6   # This is a map of buildbot master names -> buildbot builder names ->
      7   # config names (where each config name is a key in the 'configs' dict,
      8   # below). MB uses this dict to look up which config to use for a given bot.
      9   # Bots are ordered by appearance on waterfall.
     10   'masters': {
     11     'developer_default': {
     12       'android.arm.debug': 'default_debug_android_arm',
     13       'android.arm.optdebug': 'default_optdebug_android_arm',
     14       'android.arm.release': 'default_release_android_arm',
     15       'arm.debug': 'default_debug_arm',
     16       'arm.optdebug': 'default_optdebug_arm',
     17       'arm.release': 'default_release_arm',
     18       'arm64.debug': 'default_debug_arm64',
     19       'arm64.optdebug': 'default_optdebug_arm64',
     20       'arm64.release': 'default_release_arm64',
     21       'ia32.debug': 'default_debug_x86',
     22       'ia32.optdebug': 'default_optdebug_x86',
     23       'ia32.release': 'default_release_x86',
     24       'mipsel.debug': 'default_debug_mipsel',
     25       'mipsel.optdebug': 'default_optdebug_mipsel',
     26       'mipsel.release': 'default_release_mipsel',
     27       'mips64el.debug': 'default_debug_mips64el',
     28       'mips64el.optdebug': 'default_optdebug_mips64el',
     29       'mips64el.release': 'default_release_mips64el',
     30       'ppc.debug': 'default_debug_ppc',
     31       'ppc.optdebug': 'default_optdebug_ppc',
     32       'ppc.release': 'default_release_ppc',
     33       'ppc.debug.sim': 'default_debug_ppc_sim',
     34       'ppc.optdebug.sim': 'default_optdebug_ppc_sim',
     35       'ppc.release.sim': 'default_release_ppc_sim',
     36       'ppc64.debug': 'default_debug_ppc64',
     37       'ppc64.optdebug': 'default_optdebug_ppc64',
     38       'ppc64.release': 'default_release_ppc64',
     39       'ppc64.debug.sim': 'default_debug_ppc64_sim',
     40       'ppc64.optdebug.sim': 'default_optdebug_ppc64_sim',
     41       'ppc64.release.sim': 'default_release_ppc64_sim',
     42       's390.debug': 'default_debug_s390',
     43       's390.optdebug': 'default_optdebug_s390',
     44       's390.release': 'default_release_s390',
     45       's390.debug.sim': 'default_debug_s390_sim',
     46       's390.optdebug.sim': 'default_optdebug_s390_sim',
     47       's390.release.sim': 'default_release_s390_sim',
     48       's390x.debug': 'default_debug_s390x',
     49       's390x.optdebug': 'default_optdebug_s390x',
     50       's390x.release': 'default_release_s390x',
     51       's390x.debug.sim': 'default_debug_s390x_sim',
     52       's390x.optdebug.sim': 'default_optdebug_s390x_sim',
     53       's390x.release.sim': 'default_release_s390x_sim',
     54       'x64.debug': 'default_debug_x64',
     55       'x64.optdebug': 'default_optdebug_x64',
     56       'x64.release': 'default_release_x64',
     57     },
     58     'client.dynamorio': {
     59       'linux-v8-dr': 'release_x64',
     60     },
     61     'client.v8': {
     62       # Linux.
     63       'V8 Linux - builder': 'release_x86_gcmole',
     64       'V8 Linux - debug builder': 'debug_x86',
     65       'V8 Linux - nosnap builder': 'release_x86_no_snap',
     66       'V8 Linux - nosnap debug builder': 'debug_x86_no_snap',
     67       'V8 Linux - shared': 'release_x86_shared_verify_heap',
     68       'V8 Linux - noi18n - debug': 'debug_x86_no_i18n',
     69       'V8 Linux - verify csa': 'release_x86_verify_csa',
     70       # Linux64.
     71       'V8 Linux64 - builder': 'release_x64',
     72       'V8 Linux64 - debug builder': 'debug_x64',
     73       'V8 Linux64 - custom snapshot - debug builder': 'debug_x64_custom',
     74       'V8 Linux64 - internal snapshot': 'release_x64_internal',
     75       'V8 Linux64 - debug - header includes': 'debug_x64_header_includes',
     76       'V8 Linux64 - verify csa': 'release_x64_verify_csa',
     77       # Jumbo.
     78       'V8 Linux64 Jumbo': 'release_x64_jumbo',
     79       'V8 Linux64 Jumbo - debug': 'debug_x64_jumbo',
     80       'V8 Linux64 Jumbo - limited': 'release_x64_jumbo_limited',
     81       'V8 Linux64 Jumbo - limited - debug': 'debug_x64_jumbo_limited',
     82       # Windows.
     83       'V8 Win32 - builder': 'release_x86_minimal_symbols',
     84       'V8 Win32 - debug builder': 'debug_x86_minimal_symbols',
     85       'V8 Win32 - nosnap - shared':
     86         'release_x86_no_snap_shared_minimal_symbols',
     87       # TODO(machenbach): Remove after switching to x64 on infra side.
     88       'V8 Win64 ASAN': 'release_x64_asan_no_lsan',
     89       'V8 Win64': 'release_x64_minimal_symbols',
     90       'V8 Win64 - debug': 'debug_x64_minimal_symbols',
     91       'V8 Win64 - msvc': 'release_x64_msvc',
     92       # Mac.
     93       'V8 Mac64': 'release_x64',
     94       'V8 Mac64 - debug': 'debug_x64',
     95       'V8 Mac64 GC Stress': 'debug_x64',
     96       'V8 Mac64 ASAN': 'release_x64_asan_no_lsan',
     97       # Sanitizers.
     98       'V8 Linux64 ASAN': 'release_x64_asan',
     99       'V8 Linux64 TSAN - builder': 'release_x64_tsan',
    100       'V8 Linux - arm64 - sim - MSAN': 'release_simulate_arm64_msan',
    101       # Misc.
    102       'V8 Linux gcc 4.8': 'release_x86_gcc',
    103       'V8 Linux64 gcc 4.8 - debug': 'debug_x64_gcc',
    104       # FYI.
    105       'V8 Fuchsia': 'release_x64_fuchsia',
    106       'V8 Fuchsia - debug': 'debug_x64_fuchsia',
    107       'V8 Linux64 - cfi': 'release_x64_cfi',
    108       'V8 Linux64 UBSan': 'release_x64_ubsan',
    109       'V8 Linux64 UBSanVptr': 'release_x64_ubsan_vptr',
    110       'V8 Linux - vtunejit': 'debug_x86_vtunejit',
    111       'V8 Linux64 - gcov coverage': 'release_x64_gcc_coverage',
    112       'V8 Linux - predictable': 'release_x86_predictable',
    113       'V8 Linux - full debug': 'full_debug_x86',
    114       'V8 Linux - interpreted regexp': 'release_x86_interpreted_regexp',
    115       'V8 Random Deopt Fuzzer - debug': 'debug_x64',
    116     },
    117     'client.v8.clusterfuzz': {
    118       'V8 Clusterfuzz Win64 ASAN - release builder':
    119         'release_x64_asan_no_lsan_verify_heap',
    120       # Note this is called a debug builder, but it uses a release build
    121       # configuration with dchecks (which enables DEBUG in V8), since win-asan
    122       # debug is not supported.
    123       'V8 Clusterfuzz Win64 ASAN - debug builder':
    124         'release_x64_asan_no_lsan_verify_heap_dchecks',
    125       'V8 Clusterfuzz Mac64 ASAN - release builder':
    126           'release_x64_asan_no_lsan_edge_verify_heap',
    127       'V8 Clusterfuzz Mac64 ASAN - debug builder':
    128           'debug_x64_asan_no_lsan_static_edge',
    129       'V8 Clusterfuzz Linux64 - release builder':
    130           'release_x64_correctness_fuzzer',
    131       'V8 Clusterfuzz Linux64 - debug builder': 'debug_x64',
    132       'V8 Clusterfuzz Linux64 - nosnap release builder': 'release_x64_no_snap',
    133       'V8 Clusterfuzz Linux64 - nosnap debug builder': 'debug_x64_no_snap',
    134       'V8 Clusterfuzz Linux64 ASAN no inline - release builder':
    135           'release_x64_asan_symbolized_edge_verify_heap',
    136       'V8 Clusterfuzz Linux64 ASAN - debug builder': 'debug_x64_asan_edge',
    137       'V8 Clusterfuzz Linux64 ASAN arm64 - debug builder':
    138           'debug_simulate_arm64_asan_edge',
    139       'V8 Clusterfuzz Linux ASAN arm - debug builder':
    140           'debug_simulate_arm_asan_edge',
    141       'V8 Clusterfuzz Linux ASAN mipsel - debug builder':
    142           'debug_simulate_mipsel_asan_edge',
    143       'V8 Clusterfuzz Linux64 CFI - release builder':
    144           'release_x64_cfi_clusterfuzz',
    145       'V8 Clusterfuzz Linux MSAN no origins':
    146           'release_simulate_arm64_msan_no_origins_edge',
    147       'V8 Clusterfuzz Linux MSAN chained origins':
    148           'release_simulate_arm64_msan_edge',
    149       'V8 Clusterfuzz Linux64 TSAN - release builder': 'release_x64_tsan',
    150       'V8 Clusterfuzz Linux64 UBSanVptr - release builder':
    151           'release_x64_ubsan_vptr_recover_edge',
    152     },
    153     'client.v8.ports': {
    154       # Arm.
    155       'V8 Arm - builder': 'release_arm',
    156       'V8 Arm - debug builder': 'debug_arm',
    157       'V8 Android Arm - builder': 'release_android_arm',
    158       'V8 Linux - arm - sim': 'release_simulate_arm',
    159       'V8 Linux - arm - sim - debug': 'debug_simulate_arm',
    160       # Arm64.
    161       'V8 Android Arm64 - builder': 'release_android_arm64',
    162       'V8 Android Arm64 - debug builder': 'debug_android_arm64',
    163       'V8 Linux - arm64 - sim': 'release_simulate_arm64',
    164       'V8 Linux - arm64 - sim - debug': 'debug_simulate_arm64',
    165       'V8 Linux - arm64 - sim - nosnap - debug':
    166           'debug_simulate_arm64_no_snap',
    167       'V8 Linux - arm64 - sim - gc stress': 'debug_simulate_arm64',
    168       # Mips.
    169       'V8 Mips - builder': 'release_mips_no_snap_no_i18n',
    170       'V8 Linux - mipsel - sim - builder': 'release_simulate_mipsel',
    171       'V8 Linux - mips64el - sim - builder': 'release_simulate_mips64el',
    172       # PPC.
    173       'V8 Linux - ppc - sim': 'release_simulate_ppc',
    174       'V8 Linux - ppc64 - sim': 'release_simulate_ppc64',
    175       # S390.
    176       'V8 Linux - s390 - sim': 'release_simulate_s390',
    177       'V8 Linux - s390x - sim': 'release_simulate_s390x',
    178     },
    179     'client.v8.branches': {
    180       'V8 Linux - beta branch': 'release_x86',
    181       'V8 Linux - beta branch - debug': 'debug_x86',
    182       'V8 Linux - stable branch': 'release_x86',
    183       'V8 Linux - stable branch - debug': 'debug_x86',
    184       'V8 Linux64 - beta branch': 'release_x64',
    185       'V8 Linux64 - beta branch - debug': 'debug_x64',
    186       'V8 Linux64 - stable branch': 'release_x64',
    187       'V8 Linux64 - stable branch - debug': 'debug_x64',
    188       'V8 arm - sim - beta branch': 'release_simulate_arm',
    189       'V8 arm - sim - beta branch - debug': 'debug_simulate_arm',
    190       'V8 arm - sim - stable branch': 'release_simulate_arm',
    191       'V8 arm - sim - stable branch - debug': 'debug_simulate_arm',
    192       'V8 mips64el - sim - beta branch': 'release_simulate_mips64el',
    193       'V8 mips64el - sim - stable branch': 'release_simulate_mips64el',
    194       'V8 mipsel - sim - beta branch': 'release_simulate_mipsel',
    195       'V8 mipsel - sim - stable branch': 'release_simulate_mipsel',
    196       'V8 ppc - sim - beta branch': 'release_simulate_ppc',
    197       'V8 ppc - sim - stable branch': 'release_simulate_ppc',
    198       'V8 ppc64 - sim - beta branch': 'release_simulate_ppc64',
    199       'V8 ppc64 - sim - stable branch': 'release_simulate_ppc64',
    200       'V8 s390 - sim - beta branch': 'release_simulate_s390',
    201       'V8 s390 - sim - stable branch': 'release_simulate_s390',
    202       'V8 s390x - sim - beta branch': 'release_simulate_s390x',
    203       'V8 s390x - sim - stable branch': 'release_simulate_s390x',
    204     },
    205     'tryserver.v8': {
    206       'v8_android_arm_compile_rel': 'release_android_arm',
    207       'v8_android_arm64_compile_dbg': 'debug_android_arm64',
    208       'v8_android_arm64_n5x_rel_ng': 'release_android_arm64',
    209       'v8_fuchsia_rel_ng': 'release_x64_fuchsia_trybot',
    210       'v8_linux_rel_ng': 'release_x86_gcmole_trybot',
    211       'v8_linux_verify_csa_rel_ng': 'release_x86_verify_csa',
    212       'v8_linux_nodcheck_rel_ng': 'release_x86_minimal_symbols',
    213       'v8_linux_dbg_ng': 'debug_x86_trybot',
    214       'v8_linux_noi18n_rel_ng': 'release_x86_no_i18n_trybot',
    215       'v8_linux_gc_stress_dbg': 'debug_x86_trybot',
    216       'v8_linux_nosnap_rel': 'release_x86_no_snap_trybot',
    217       'v8_linux_nosnap_dbg': 'debug_x86_no_snap_trybot',
    218       'v8_linux_gcc_compile_rel': 'release_x86_gcc_minimal_symbols',
    219       'v8_linux_gcc_rel': 'release_x86_gcc_minimal_symbols',
    220       'v8_linux_shared_compile_rel': 'release_x86_shared_verify_heap',
    221       'v8_linux64_dbg_ng': 'debug_x64_trybot',
    222       'v8_linux64_gcc_compile_dbg': 'debug_x64_gcc',
    223       'v8_linux64_header_includes_dbg': 'debug_x64_header_includes',
    224       'v8_linux64_fyi_rel_ng': 'release_x64_test_features_trybot',
    225       'v8_linux64_rel_ng': 'release_x64_test_features_trybot',
    226       'v8_linux64_verify_csa_rel_ng': 'release_x64_verify_csa',
    227       'v8_linux64_asan_rel_ng': 'release_x64_asan_minimal_symbols',
    228       'v8_linux64_cfi_rel_ng': 'release_x64_cfi',
    229       'v8_linux64_msan_rel': 'release_simulate_arm64_msan_minimal_symbols',
    230       'v8_linux64_sanitizer_coverage_rel':
    231           'release_x64_asan_minimal_symbols_coverage',
    232       'v8_linux64_jumbo_compile_rel': 'release_x64_jumbo_trybot',
    233       'v8_linux64_jumbo_limited_compile_rel': 'release_x64_jumbo_limited_trybot',
    234       'v8_linux64_tsan_rel': 'release_x64_tsan_minimal_symbols',
    235       'v8_linux64_tsan_isolates_rel_ng':
    236           'release_x64_tsan_minimal_symbols',
    237       'v8_linux64_ubsan_rel_ng': 'release_x64_ubsan_vptr_minimal_symbols',
    238       # TODO(machenbach): Remove after switching to x64 on infra side.
    239       'v8_win_dbg': 'debug_x86_trybot',
    240       'v8_win_compile_dbg': 'debug_x86_trybot',
    241       'v8_win_rel_ng': 'release_x86_trybot',
    242       'v8_win_nosnap_shared_rel_ng':
    243         'release_x86_no_snap_shared_minimal_symbols',
    244       'v8_win64_asan_rel_ng': 'release_x64_asan_no_lsan',
    245       'v8_win64_msvc_compile_rel': 'release_x64_msvc',
    246       'v8_win64_dbg': 'debug_x64_minimal_symbols',
    247       'v8_win64_msvc_rel_ng': 'release_x64_msvc',
    248       'v8_win64_rel_ng': 'release_x64_trybot',
    249       'v8_mac64_gc_stress_dbg': 'debug_x64_trybot',
    250       'v8_mac64_rel_ng': 'release_x64_trybot',
    251       'v8_mac64_dbg': 'debug_x64',
    252       'v8_mac64_dbg_ng': 'debug_x64',
    253       'v8_mac64_asan_rel': 'release_x64_asan_no_lsan',
    254       'v8_mips_compile_rel': 'release_mips_no_snap_no_i18n',
    255       'v8_linux_arm_rel_ng': 'release_simulate_arm_trybot',
    256       'v8_linux_arm_dbg': 'debug_simulate_arm',
    257       'v8_linux_arm_armv8a_rel': 'release_simulate_arm_trybot',
    258       'v8_linux_arm_armv8a_dbg': 'debug_simulate_arm',
    259       'v8_linux_arm64_rel_ng': 'release_simulate_arm64_trybot',
    260       'v8_linux_arm64_dbg': 'debug_simulate_arm64',
    261       'v8_linux_arm64_gc_stress_dbg': 'debug_simulate_arm64',
    262       'v8_linux_mipsel_compile_rel': 'release_simulate_mipsel',
    263       'v8_linux_mips64el_compile_rel': 'release_simulate_mips64el',
    264     },
    265   },
    266 
    267 
    268   # To ease readability, config values are ordered by:
    269   # release/debug, arch type, other values alphabetically.
    270   'configs': {
    271     # Developer default configs.
    272     'default_debug_arm': [
    273       'debug', 'simulate_arm', 'v8_enable_slow_dchecks', 'v8_full_debug'],
    274     'default_optdebug_arm': [
    275       'debug', 'simulate_arm', 'v8_enable_slow_dchecks'],
    276     'default_release_arm': [
    277       'release', 'simulate_arm'],
    278     'default_debug_android_arm': [
    279       'debug', 'arm', 'android', 'v8_enable_slow_dchecks', 'v8_full_debug'],
    280     'default_optdebug_android_arm': [
    281       'debug', 'arm', 'android', 'v8_enable_slow_dchecks' ],
    282     'default_release_android_arm': [
    283       'release', 'arm', 'android'],
    284     'default_debug_arm64': [
    285       'debug', 'simulate_arm64', 'v8_enable_slow_dchecks', 'v8_full_debug'],
    286     'default_optdebug_arm64': [
    287       'debug', 'simulate_arm64', 'v8_enable_slow_dchecks'],
    288     'default_release_arm64': [
    289       'release', 'simulate_arm64'],
    290     'default_debug_mipsel': [
    291       'debug', 'simulate_mipsel', 'v8_enable_slow_dchecks', 'v8_full_debug'],
    292     'default_optdebug_mipsel': [
    293       'debug', 'simulate_mipsel', 'v8_enable_slow_dchecks'],
    294     'default_release_mipsel': [
    295       'release', 'simulate_mipsel'],
    296     'default_debug_mips64el': [
    297       'debug', 'simulate_mips64el', 'v8_enable_slow_dchecks', 'v8_full_debug'],
    298     'default_optdebug_mips64el': [
    299       'debug', 'simulate_mips64el', 'v8_enable_slow_dchecks'],
    300     'default_release_mips64el': [
    301       'release', 'simulate_mips64el'],
    302     'default_debug_ppc': [
    303       'debug', 'ppc', 'v8_enable_slow_dchecks', 'v8_full_debug'],
    304     'default_optdebug_ppc': [
    305       'debug', 'ppc', 'v8_enable_slow_dchecks'],
    306     'default_release_ppc': [
    307       'release', 'ppc'],
    308     'default_debug_ppc_sim': [
    309       'debug', 'simulate_ppc', 'v8_enable_slow_dchecks', 'v8_full_debug'],
    310     'default_optdebug_ppc_sim': [
    311       'debug', 'simulate_ppc', 'v8_enable_slow_dchecks'],
    312     'default_release_ppc_sim': [
    313       'release', 'simulate_ppc'],
    314     'default_debug_ppc64': [
    315       'debug', 'ppc64', 'gcc', 'v8_enable_slow_dchecks', 'v8_full_debug'],
    316     'default_optdebug_ppc64': [
    317       'debug', 'ppc64', 'gcc', 'v8_enable_slow_dchecks'],
    318     'default_release_ppc64': [
    319       'release', 'ppc64', 'gcc'],
    320     'default_debug_ppc64_sim': [
    321       'debug', 'simulate_ppc64', 'v8_enable_slow_dchecks', 'v8_full_debug'],
    322     'default_optdebug_ppc64_sim': [
    323       'debug', 'simulate_ppc64', 'v8_enable_slow_dchecks'],
    324     'default_release_ppc64_sim': [
    325       'release', 'simulate_ppc64'],
    326     'default_debug_s390': [
    327       'debug', 's390', 'v8_enable_slow_dchecks', 'v8_full_debug'],
    328     'default_optdebug_s390': [
    329       'debug', 's390', 'v8_enable_slow_dchecks'],
    330     'default_release_s390': [
    331       'release', 's390'],
    332     'default_debug_s390_sim': [
    333       'debug', 'simulate_s390', 'v8_enable_slow_dchecks', 'v8_full_debug'],
    334     'default_optdebug_s390_sim': [
    335       'debug', 'simulate_s390', 'v8_enable_slow_dchecks'],
    336     'default_release_s390_sim': [
    337       'release', 'simulate_s390'],
    338     'default_debug_s390x': [
    339       'debug', 's390x', 'v8_enable_slow_dchecks', 'v8_full_debug'],
    340     'default_optdebug_s390x': [
    341       'debug', 's390x', 'v8_enable_slow_dchecks'],
    342     'default_release_s390x': [
    343       'release', 's390x'],
    344     'default_debug_s390x_sim': [
    345       'debug', 'simulate_s390x', 'v8_enable_slow_dchecks', 'v8_full_debug'],
    346     'default_optdebug_s390x_sim': [
    347       'debug', 'simulate_s390x', 'v8_enable_slow_dchecks'],
    348     'default_release_s390x_sim': [
    349       'release', 'simulate_s390x'],
    350     'default_debug_x64': [
    351       'debug', 'x64', 'v8_enable_slow_dchecks', 'v8_full_debug'],
    352     'default_optdebug_x64': [
    353       'debug', 'x64', 'v8_enable_slow_dchecks'],
    354     'default_release_x64': [
    355       'release', 'x64'],
    356     'default_debug_x86': [
    357       'debug', 'x86', 'v8_enable_slow_dchecks', 'v8_full_debug'],
    358     'default_optdebug_x86': [
    359       'debug', 'x86', 'v8_enable_slow_dchecks'],
    360     'default_release_x86': [
    361       'release', 'x86'],
    362 
    363 
    364     # Debug configs for simulators.
    365     'debug_simulate_arm': [
    366       'debug_bot', 'simulate_arm'],
    367     'debug_simulate_arm_asan_edge': [
    368       'debug_bot', 'simulate_arm', 'asan', 'edge'],
    369     'debug_simulate_arm64': [
    370       'debug_bot', 'simulate_arm64'],
    371     'debug_simulate_arm64_asan_edge': [
    372       'debug_bot', 'simulate_arm64', 'asan', 'lsan', 'edge'],
    373     'debug_simulate_arm64_no_snap': [
    374       'debug', 'simulate_arm64', 'shared', 'goma', 'v8_optimized_debug',
    375       'v8_snapshot_none'],
    376     'debug_simulate_mipsel_asan_edge': [
    377       'debug_bot', 'simulate_mipsel', 'asan', 'edge'],
    378 
    379     # Release configs for simulators.
    380     'release_simulate_arm': [
    381       'release_bot', 'simulate_arm'],
    382     'release_simulate_arm_trybot': [
    383       'release_trybot', 'simulate_arm'],
    384     'release_simulate_arm64': [
    385       'release_bot', 'simulate_arm64'],
    386     'release_simulate_arm64_msan': [
    387       'release_bot', 'simulate_arm64', 'msan'],
    388     'release_simulate_arm64_msan_minimal_symbols': [
    389       'release_bot', 'simulate_arm64', 'msan', 'minimal_symbols'],
    390     'release_simulate_arm64_msan_edge': [
    391       'release_bot', 'simulate_arm64', 'edge', 'msan'],
    392     'release_simulate_arm64_msan_no_origins_edge': [
    393       'release_bot', 'simulate_arm64', 'edge', 'msan_no_origins'],
    394     'release_simulate_arm64_trybot': [
    395       'release_trybot', 'simulate_arm64'],
    396     'release_simulate_mipsel': [
    397       'release_bot', 'simulate_mipsel'],
    398     'release_simulate_mips64el': [
    399       'release_bot', 'simulate_mips64el'],
    400     'release_simulate_ppc': [
    401       'release_bot', 'simulate_ppc'],
    402     'release_simulate_ppc64': [
    403       'release_bot', 'simulate_ppc64'],
    404     'release_simulate_s390': [
    405       'release_bot', 'simulate_s390'],
    406     'release_simulate_s390x': [
    407       'release_bot', 'simulate_s390x'],
    408 
    409     # Debug configs for arm.
    410     'debug_android_arm64': [
    411       'debug_bot', 'arm64', 'android', 'minimal_symbols'],
    412     'debug_arm': [
    413       'debug_bot', 'arm', 'hard_float'],
    414 
    415     # Release configs for arm.
    416     'release_arm': [
    417       'release_bot', 'arm', 'hard_float'],
    418     'release_android_arm': [
    419       'release_bot', 'arm', 'android', 'minimal_symbols'],
    420     'release_android_arm64': [
    421       'release_bot', 'arm64', 'android', 'minimal_symbols'],
    422 
    423     # Release configs for x64.
    424     'release_x64': [
    425       'release_bot', 'x64'],
    426     'release_x64_asan': [
    427       'release_bot', 'x64', 'asan', 'lsan'],
    428     'release_x64_asan_minimal_symbols': [
    429       'release_bot', 'x64', 'asan', 'lsan', 'minimal_symbols'],
    430     'release_x64_asan_minimal_symbols_coverage': [
    431       'release_bot', 'x64', 'asan', 'bb', 'coverage', 'lsan', 'minimal_symbols'],
    432     'release_x64_asan_no_lsan': [
    433       'release_bot', 'x64', 'asan'],
    434     'release_x64_asan_no_lsan_edge_verify_heap': [
    435       'release_bot', 'x64', 'asan', 'edge', 'v8_verify_heap'],
    436     'release_x64_asan_no_lsan_verify_heap': [
    437       'release_bot', 'x64', 'asan', 'v8_verify_heap'],
    438     'release_x64_asan_no_lsan_verify_heap_dchecks': [
    439       'release_bot', 'x64', 'asan', 'dcheck_always_on',
    440       'v8_enable_slow_dchecks', 'v8_verify_heap'],
    441     'release_x64_asan_symbolized_edge_verify_heap': [
    442       'release_bot', 'x64', 'asan', 'edge', 'lsan', 'symbolized',
    443       'v8_verify_heap'],
    444     'release_x64_cfi': [
    445       'release_bot', 'x64', 'cfi'],
    446     'release_x64_cfi_clusterfuzz': [
    447       'release_bot', 'x64', 'cfi_clusterfuzz'],
    448     'release_x64_msvc': [
    449       'release_bot', 'x64', 'msvc'],
    450     'release_x64_correctness_fuzzer' : [
    451       'release_bot', 'x64', 'v8_correctness_fuzzer'],
    452     'release_x64_fuchsia': [
    453       'release_bot', 'x64', 'fuchsia'],
    454     'release_x64_fuchsia_trybot': [
    455       'release_trybot', 'x64', 'fuchsia'],
    456     'release_x64_gcc_coverage': [
    457       'release_bot', 'x64', 'coverage', 'gcc', 'no_custom_libcxx', 'no_sysroot'],
    458     'release_x64_internal': [
    459       'release_bot', 'x64', 'v8_snapshot_internal'],
    460     'release_x64_jumbo': [
    461       'release_bot', 'x64', 'jumbo'],
    462     'release_x64_jumbo_trybot': [
    463       'release_trybot', 'x64', 'jumbo'],
    464     'release_x64_jumbo_limited': [
    465       'release_bot', 'x64', 'jumbo_limited'],
    466     'release_x64_jumbo_limited_trybot': [
    467       'release_trybot', 'x64', 'jumbo_limited'],
    468     'release_x64_minimal_symbols': [
    469       'release_bot', 'x64', 'minimal_symbols'],
    470     'release_x64_no_snap': [
    471       'release_bot', 'x64', 'v8_snapshot_none'],
    472     'release_x64_trybot': [
    473       'release_trybot', 'x64'],
    474     'release_x64_test_features_trybot': [
    475       'release_trybot', 'x64', 'v8_enable_test_features'],
    476     'release_x64_tsan': [
    477       'release_bot', 'x64', 'tsan'],
    478     'release_x64_tsan_minimal_symbols': [
    479       'release_bot', 'x64', 'tsan', 'minimal_symbols'],
    480     'release_x64_ubsan': [
    481       'release_bot', 'x64', 'ubsan'],
    482     'release_x64_ubsan_vptr': [
    483       'release_bot', 'x64', 'ubsan_vptr'],
    484     'release_x64_ubsan_vptr_recover_edge': [
    485       'release_bot', 'x64', 'edge', 'ubsan_vptr_recover'],
    486     'release_x64_ubsan_vptr_minimal_symbols': [
    487       'release_bot', 'x64', 'ubsan_vptr', 'minimal_symbols'],
    488     'release_x64_verify_csa': [
    489       'release_bot', 'x64', 'dcheck_always_on',
    490       'v8_enable_slow_dchecks', 'v8_verify_csa'],
    491 
    492     # Debug configs for x64.
    493     'debug_x64': [
    494       'debug_bot', 'x64'],
    495     'debug_x64_asan_edge': [
    496       'debug_bot', 'x64', 'asan', 'lsan', 'edge'],
    497     'debug_x64_asan_no_lsan_static_edge': [
    498       'debug', 'static', 'goma', 'v8_enable_slow_dchecks', 'v8_optimized_debug',
    499       'x64', 'asan', 'edge'],
    500     'debug_x64_custom': [
    501       'debug_bot', 'x64', 'v8_snapshot_custom'],
    502     'debug_x64_fuchsia': [
    503       'debug_bot', 'x64', 'fuchsia'],
    504     'debug_x64_gcc': [
    505       'debug_bot', 'x64', 'gcc'],
    506     'debug_x64_header_includes': [
    507       'debug_bot', 'x64', 'v8_check_header_includes'],
    508     'debug_x64_jumbo': [
    509       'debug_bot', 'x64', 'jumbo'],
    510     'debug_x64_jumbo_limited': [
    511       'debug_bot', 'x64', 'jumbo_limited'],
    512     'debug_x64_minimal_symbols': [
    513       'debug_bot', 'x64', 'minimal_symbols'],
    514     'debug_x64_no_snap': [
    515       'debug_bot', 'x64', 'v8_snapshot_none'],
    516     'debug_x64_trybot': [
    517       'debug_trybot', 'x64'],
    518 
    519     # Debug configs for x86.
    520     'debug_x86': [
    521       'debug_bot', 'x86'],
    522     'debug_x86_minimal_symbols': [
    523       'debug_bot', 'x86', 'minimal_symbols'],
    524     'debug_x86_no_i18n': [
    525       'debug_bot', 'x86', 'v8_no_i18n'],
    526     'debug_x86_no_snap': [
    527       'debug_bot', 'x86', 'v8_snapshot_none'],
    528     'debug_x86_no_snap_trybot': [
    529       'debug_trybot', 'x86', 'v8_snapshot_none'],
    530     'debug_x86_trybot': [
    531       'debug_trybot', 'x86'],
    532     'debug_x86_vtunejit': [
    533       'debug_bot', 'x86', 'v8_enable_vtunejit'],
    534     'full_debug_x86': [
    535       'debug', 'x86', 'goma', 'static', 'v8_enable_slow_dchecks',
    536       'v8_full_debug'],
    537 
    538     # Release configs for x86.
    539     'release_x86': [
    540       'release_bot', 'x86'],
    541     'release_x86_gcc': [
    542       'release_bot', 'x86', 'gcc'],
    543     'release_x86_gcc_minimal_symbols': [
    544       'release_bot', 'x86', 'gcc', 'minimal_symbols'],
    545     'release_x86_gcmole': [
    546       'release_bot', 'x86', 'gcmole'],
    547     'release_x86_gcmole_trybot': [
    548       'release_trybot', 'x86', 'gcmole'],
    549     'release_x86_interpreted_regexp': [
    550       'release_bot', 'x86', 'v8_interpreted_regexp'],
    551     'release_x86_minimal_symbols': [
    552       'release_bot', 'x86', 'minimal_symbols'],
    553     'release_x86_no_i18n_trybot': [
    554       'release_trybot', 'x86', 'v8_no_i18n'],
    555     'release_x86_no_snap': [
    556       'release_bot', 'x86', 'v8_snapshot_none'],
    557     'release_x86_no_snap_shared_minimal_symbols': [
    558       'release', 'x86', 'goma', 'minimal_symbols', 'shared',
    559       'v8_snapshot_none'],
    560     'release_x86_no_snap_trybot': [
    561       'release_trybot', 'x86', 'v8_snapshot_none'],
    562     'release_x86_predictable': [
    563       'release_bot', 'x86', 'v8_enable_verify_predictable'],
    564     'release_x86_shared_verify_heap': [
    565       'release', 'x86', 'goma', 'shared', 'v8_verify_heap'],
    566     'release_x86_trybot': [
    567       'release_trybot', 'x86'],
    568     'release_x86_verify_csa': [
    569       'release_bot', 'x86', 'dcheck_always_on',
    570       'v8_enable_slow_dchecks', 'v8_verify_csa'],
    571 
    572     # Release configs for mips.
    573     'release_mips_no_snap_no_i18n': [
    574       'release', 'mips', 'no_sysroot', 'static', 'v8_no_i18n',
    575       'v8_snapshot_none'],
    576   },
    577 
    578   'mixins': {
    579     'android': {
    580       'gn_args': 'target_os="android" v8_android_log_stdout=true',
    581     },
    582 
    583     'arm': {
    584       'gn_args': 'target_cpu="arm"',
    585     },
    586 
    587     'arm64': {
    588       'gn_args': 'target_cpu="arm64"',
    589     },
    590 
    591     'asan': {
    592       'mixins': ['clang', 'v8_enable_test_features'],
    593       'gn_args': 'is_asan=true',
    594     },
    595 
    596     'bb': {
    597       'gn_args': 'sanitizer_coverage_flags="bb,trace-pc-guard"',
    598     },
    599 
    600     'cfi': {
    601       'mixins': ['v8_enable_test_features'],
    602       'gn_args': ('is_cfi=true use_cfi_cast=true use_cfi_icall=true '
    603                   'use_cfi_diag=true use_cfi_recover=false'),
    604     },
    605 
    606     'cfi_clusterfuzz': {
    607       'mixins': ['v8_enable_test_features'],
    608       'gn_args': ('is_cfi=true use_cfi_cast=true use_cfi_icall=true '
    609                   'use_cfi_diag=true use_cfi_recover=true'),
    610     },
    611 
    612     'clang': {
    613       'gn_args': 'is_clang=true',
    614     },
    615 
    616     'coverage': {
    617       'gn_args': 'v8_code_coverage=true',
    618     },
    619 
    620     'dcheck_always_on': {
    621       'gn_args': 'dcheck_always_on=true',
    622     },
    623 
    624     'debug': {
    625       'gn_args': 'is_debug=true v8_enable_backtrace=true',
    626     },
    627 
    628     'v8_use_multi_snapshots': {
    629       'gn_args': 'v8_use_multi_snapshots=true',
    630     },
    631 
    632     'debug_bot': {
    633       'mixins': [
    634         'debug', 'shared', 'goma', 'v8_enable_slow_dchecks',
    635         'v8_use_multi_snapshots', 'v8_optimized_debug'],
    636     },
    637 
    638     'debug_trybot': {
    639       'mixins': ['debug_bot', 'minimal_symbols'],
    640     },
    641 
    642     'edge': {
    643       'gn_args': 'sanitizer_coverage_flags="trace-pc-guard"',
    644     },
    645 
    646     'fuchsia': {
    647       'gn_args': 'target_os="fuchsia"',
    648     },
    649 
    650     'gcc': {
    651       # TODO(machenbach): Remove cxx11 restriction when updating gcc version.
    652       'gn_args': 'is_clang=false use_cxx11=true',
    653     },
    654 
    655     'gcmole': {
    656       'gn_args': 'v8_gcmole=true',
    657     },
    658 
    659     'goma': {
    660       'gn_args': 'use_goma=true',
    661     },
    662 
    663     'hard_float': {
    664       'gn_args': 'arm_float_abi="hard"',
    665     },
    666 
    667     'jumbo': {
    668       'gn_args': 'use_jumbo_build=true',
    669     },
    670 
    671     'jumbo_limited': {
    672       'gn_args': 'use_jumbo_build=true jumbo_file_merge_limit=50',
    673     },
    674 
    675     'lsan': {
    676       'mixins': ['v8_enable_test_features'],
    677       'gn_args': 'is_lsan=true',
    678     },
    679 
    680     'minimal_symbols': {
    681       'gn_args': 'symbol_level=1',
    682     },
    683 
    684     'mips': {
    685       'mixins': ['mips_bundled_toolchain'],
    686       'gn_args': 'target_cpu="mips"',
    687     },
    688 
    689     'mips_bundled_toolchain': {
    690       'gn_args': 'custom_toolchain="//tools/toolchain:mips-bundled"',
    691     },
    692 
    693     'msan': {
    694       'mixins': ['v8_enable_test_features'],
    695       'gn_args': ('is_msan=true msan_track_origins=2 '
    696                   'use_prebuilt_instrumented_libraries=true'),
    697     },
    698 
    699     'msan_no_origins': {
    700       'mixins': ['v8_enable_test_features'],
    701       'gn_args': ('is_msan=true msan_track_origins=0 '
    702                   'use_prebuilt_instrumented_libraries=true'),
    703     },
    704 
    705     'msvc': {
    706       'gn_args': 'is_clang=false',
    707     },
    708 
    709     'no_custom_libcxx': {
    710       'gn_args': 'use_custom_libcxx=false',
    711     },
    712 
    713     'no_sysroot': {
    714       'gn_args': 'use_sysroot=false',
    715     },
    716 
    717     'release': {
    718       'gn_args': 'is_debug=false android_unstripped_runtime_outputs=false',
    719     },
    720 
    721     'release_bot': {
    722       'mixins': ['release', 'static', 'goma', 'v8_use_multi_snapshots'],
    723     },
    724 
    725     'release_trybot': {
    726       'mixins': ['release_bot', 'minimal_symbols', 'dcheck_always_on'],
    727     },
    728 
    729     'shared': {
    730       'gn_args': 'is_component_build=true',
    731     },
    732 
    733     'simulate_arm': {
    734       'gn_args': 'target_cpu="x86" v8_target_cpu="arm"',
    735     },
    736 
    737     'simulate_arm64': {
    738       'gn_args': 'target_cpu="x64" v8_target_cpu="arm64"',
    739     },
    740 
    741     'simulate_mipsel': {
    742       'gn_args':
    743           'target_cpu="x86" v8_target_cpu="mipsel" mips_arch_variant="r2"',
    744     },
    745 
    746     'simulate_mips64el': {
    747       'gn_args': 'target_cpu="x64" v8_target_cpu="mips64el"',
    748     },
    749 
    750     'simulate_ppc': {
    751       'gn_args': 'target_cpu="x86" v8_target_cpu="ppc"',
    752     },
    753 
    754     'simulate_ppc64': {
    755       'gn_args': 'target_cpu="x64" v8_target_cpu="ppc64"',
    756     },
    757 
    758     'simulate_s390': {
    759       'gn_args': 'target_cpu="x86" v8_target_cpu="s390"',
    760     },
    761 
    762     'simulate_s390x': {
    763       'gn_args': 'target_cpu="x64" v8_target_cpu="s390x"',
    764     },
    765 
    766     'static': {
    767       'gn_args': 'is_component_build=false',
    768     },
    769 
    770     # TODO(machenbach): Remove the symbolized config after the bots are gone.
    771     'symbolized': {
    772       'gn_args': 'v8_no_inline=true',
    773     },
    774 
    775     'tsan': {
    776       'mixins': ['v8_enable_test_features'],
    777       'gn_args': 'is_tsan=true',
    778     },
    779 
    780     'ubsan': {
    781       'mixins': ['v8_enable_test_features'],
    782       # TODO(krasin): Remove is_ubsan_no_recover=true when
    783       # https://llvm.org/bugs/show_bug.cgi?id=25569 is fixed and just use
    784       # ubsan instead.
    785       'gn_args': 'is_ubsan=true is_ubsan_no_recover=true',
    786     },
    787 
    788     'ubsan_vptr': {
    789       'mixins': ['v8_enable_test_features'],
    790       # TODO(krasin): Remove is_ubsan_no_recover=true when
    791       # https://llvm.org/bugs/show_bug.cgi?id=25569 is fixed and just use
    792       # ubsan_vptr instead.
    793       'gn_args': 'is_ubsan_vptr=true is_ubsan_no_recover=true',
    794     },
    795 
    796     'ubsan_vptr_recover': {
    797       'mixins': ['v8_enable_test_features'],
    798       # Ubsan vptr with recovery.
    799       'gn_args': 'is_ubsan_vptr=true is_ubsan_no_recover=false',
    800     },
    801 
    802     'v8_check_header_includes': {
    803       'gn_args': 'v8_check_header_includes=true',
    804     },
    805 
    806     'v8_correctness_fuzzer': {
    807       'mixins': ['v8_enable_test_features'],
    808       'gn_args': 'v8_correctness_fuzzer=true v8_multi_arch_build=true',
    809     },
    810 
    811     'v8_enable_slow_dchecks': {
    812       'gn_args': 'v8_enable_slow_dchecks=true',
    813     },
    814 
    815     'v8_enable_test_features': {
    816       'gn_args': 'v8_enable_test_features=true',
    817     },
    818 
    819     'v8_enable_verify_predictable': {
    820       'gn_args': 'v8_enable_verify_predictable=true',
    821     },
    822 
    823     'v8_enable_vtunejit': {
    824       'gn_args': 'v8_enable_vtunejit=true',
    825     },
    826 
    827     'v8_full_debug': {
    828       'gn_args': 'v8_optimized_debug=false',
    829     },
    830 
    831     'v8_interpreted_regexp': {
    832       'gn_args': 'v8_interpreted_regexp=true',
    833     },
    834 
    835     'v8_optimized_debug': {
    836       # This is the default in gn for debug.
    837     },
    838 
    839     'v8_no_i18n': {
    840       'gn_args': 'v8_enable_i18n_support=false icu_use_data_file=false',
    841     },
    842 
    843     'v8_snapshot_custom': {
    844       # GN path is relative to project root.
    845       'gn_args': 'v8_embed_script="test/mjsunit/mjsunit.js"',
    846     },
    847 
    848     'v8_snapshot_internal': {
    849       'gn_args': 'v8_use_external_startup_data=false',
    850     },
    851 
    852     'v8_snapshot_none': {
    853       'gn_args': 'v8_use_snapshot=false',
    854     },
    855 
    856     'v8_verify_heap': {
    857       'gn_args': 'v8_enable_verify_heap=true',
    858     },
    859 
    860     'v8_verify_csa': {
    861       'gn_args': 'v8_enable_verify_csa=true',
    862     },
    863 
    864     's390': {
    865       'gn_args': 'target_cpu="s390x" v8_target_cpu="s390"',
    866     },
    867 
    868     's390x': {
    869       'gn_args': 'target_cpu="s390x" v8_target_cpu="s390x"',
    870     },
    871 
    872     'ppc': {
    873       'gn_args': 'target_cpu="ppc"',
    874     },
    875 
    876     'ppc64': {
    877       'gn_args': 'target_cpu="ppc64" use_custom_libcxx=false',
    878     },
    879 
    880     'x64': {
    881       'gn_args': 'target_cpu="x64"',
    882     },
    883 
    884     'x86': {
    885       'gn_args': 'target_cpu="x86"',
    886     },
    887 
    888   },
    889 }
    890