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       'arm.debug': 'default_debug_arm',
     13       'arm.optdebug': 'default_optdebug_arm',
     14       'arm.release': 'default_release_arm',
     15       'arm64.debug': 'default_debug_arm64',
     16       'arm64.optdebug': 'default_optdebug_arm64',
     17       'arm64.release': 'default_release_arm64',
     18       'ia32.debug': 'default_debug_x86',
     19       'ia32.optdebug': 'default_optdebug_x86',
     20       'ia32.release': 'default_release_x86',
     21       'x64.debug': 'default_debug_x64',
     22       'x64.optdebug': 'default_optdebug_x64',
     23       'x64.release': 'default_release_x64',
     24     },
     25 
     26     'client.dart.fyi': {
     27       'v8-linux-release': 'gyp_release_x86_disassembler',
     28       'v8-win-release': 'gyp_release_x86_disassembler',
     29       'v8-mac-release': 'gyp_release_x86_disassembler',
     30     },
     31     'client.dynamorio': {
     32       'linux-v8-dr': 'gyp_release_x64',
     33     },
     34     'client.v8': {
     35       # Linux.
     36       'V8 Linux - builder': 'gn_release_x86_gcmole',
     37       'V8 Linux - debug builder': 'gn_debug_x86',
     38       'V8 Linux - nosnap builder': 'gn_release_x86_no_snap',
     39       'V8 Linux - nosnap debug builder': 'gn_debug_x86_no_snap',
     40       'V8 Linux - shared': 'gn_release_x86_shared_verify_heap',
     41       'V8 Linux - noi18n - debug': 'gn_debug_x86_no_i18n',
     42       # Linux64.
     43       'V8 Linux64 - builder': 'gn_release_x64_valgrind',
     44       'V8 Linux64 - debug builder': 'gn_debug_x64_valgrind',
     45       'V8 Linux64 - custom snapshot - debug builder': 'gn_debug_x64_custom',
     46       'V8 Linux64 - internal snapshot': 'gn_release_x64_internal',
     47       'V8 Linux64 - gyp': 'gyp_release_x64',
     48       # Windows.
     49       'V8 Win32 - builder': 'gn_release_x86_minimal_symbols',
     50       'V8 Win32 - debug builder': 'gn_debug_x86_minimal_symbols',
     51       'V8 Win32 - nosnap - shared':
     52         'gn_release_x86_no_snap_shared_minimal_symbols',
     53       'V8 Win64': 'gn_release_x64_minimal_symbols',
     54       'V8 Win64 - debug': 'gn_debug_x64_minimal_symbols',
     55       # TODO(machenbach): Switch plugins on when errors are fixed.
     56       'V8 Win64 - clang': 'gn_release_x64_clang',
     57       # Mac.
     58       'V8 Mac': 'gn_release_x86',
     59       'V8 Mac - debug': 'gn_debug_x86',
     60       'V8 Mac64': 'gn_release_x64',
     61       'V8 Mac64 - debug': 'gn_debug_x64',
     62       'V8 Mac GC Stress': 'gn_debug_x86',
     63       'V8 Mac64 ASAN': 'gn_release_x64_asan_no_lsan',
     64       # Sanitizers.
     65       'V8 Linux64 ASAN': 'gn_release_x64_asan',
     66       'V8 Linux64 TSAN': 'gn_release_x64_tsan',
     67       'V8 Linux - arm64 - sim - MSAN': 'gn_release_simulate_arm64_msan',
     68       # Clusterfuzz.
     69       'V8 Linux64 ASAN no inline - release builder':
     70           'gn_release_x64_asan_symbolized_edge_verify_heap',
     71       'V8 Linux64 ASAN - debug builder': 'gn_debug_x64_asan_edge',
     72       'V8 Linux64 ASAN arm64 - debug builder':
     73           'gn_debug_simulate_arm64_asan_edge',
     74       'V8 Linux ASAN arm - debug builder':
     75           'gn_debug_simulate_arm_asan_edge',
     76       'V8 Linux ASAN mipsel - debug builder':
     77           'gn_debug_simulate_mipsel_asan_edge',
     78       # Misc.
     79       'V8 Linux gcc 4.8': 'gn_release_x86_gcc',
     80       # FYI.
     81       'V8 Linux - swarming staging': 'gn_release_x64',
     82       # TODO(machenbach): Figure out if symbolized is still needed. The
     83       # original config also specified -O1, which we dropped because chromium
     84       # doesn't have it (anymore).
     85       'V8 Linux64 - cfi': 'gyp_release_x64_cfi_symbolized',
     86       'V8 Linux - vtunejit': 'gyp_debug_x86_vtunejit',
     87       'V8 Linux64 - gcov coverage': 'gyp_release_x64_gcc_coverage',
     88       'V8 Linux - predictable': 'gyp_release_x86_predictable',
     89       'V8 Linux - full debug': 'gyp_full_debug_x86',
     90       'V8 Linux - interpreted regexp': 'gyp_release_x86_interpreted_regexp',
     91       'V8 Random Deopt Fuzzer - debug': 'gyp_debug_x86',
     92     },
     93 
     94     'client.v8.ports': {
     95       # Arm.
     96       'V8 Arm - builder': 'gn_release_arm',
     97       'V8 Arm - debug builder': 'gn_debug_arm',
     98       'V8 Android Arm - builder': 'gn_release_android_arm',
     99       'V8 Linux - arm - sim': 'gn_release_simulate_arm',
    100       'V8 Linux - arm - sim - debug': 'gn_debug_simulate_arm',
    101       # Arm64.
    102       'V8 Android Arm64 - builder': 'gn_release_android_arm64',
    103       'V8 Linux - arm64 - sim': 'gn_release_simulate_arm64',
    104       'V8 Linux - arm64 - sim - debug': 'gn_debug_simulate_arm64',
    105       'V8 Linux - arm64 - sim - nosnap - debug':
    106           'gn_debug_simulate_arm64_no_snap',
    107       'V8 Linux - arm64 - sim - gc stress': 'gn_debug_simulate_arm64',
    108       # Mips.
    109       'V8 Mips - builder': 'gyp_release_mips_no_snap_no_i18n',
    110       'V8 Linux - mipsel - sim - builder': 'gn_release_simulate_mipsel',
    111       'V8 Linux - mips64el - sim - builder': 'gn_release_simulate_mips64el',
    112       # PPC.
    113       'V8 Linux - ppc - sim': 'gyp_release_simulate_ppc',
    114       'V8 Linux - ppc64 - sim': 'gyp_release_simulate_ppc64',
    115       # S390.
    116       'V8 Linux - s390 - sim': 'gyp_release_simulate_s390',
    117       'V8 Linux - s390x - sim': 'gyp_release_simulate_s390x',
    118       # X87.
    119       'V8 Linux - x87 - nosnap - debug builder':
    120           'gyp_debug_simulate_x87_no_snap',
    121     },
    122     'client.v8.branches': {
    123       'V8 Linux - beta branch': 'gn_release_x86',
    124       'V8 Linux - beta branch - debug': 'gn_debug_x86',
    125       'V8 Linux - stable branch': 'gn_release_x86',
    126       'V8 Linux - stable branch - debug': 'gn_debug_x86',
    127       'V8 Linux64 - beta branch': 'gn_release_x64',
    128       'V8 Linux64 - beta branch - debug': 'gn_debug_x64',
    129       'V8 Linux64 - stable branch': 'gn_release_x64',
    130       'V8 Linux64 - stable branch - debug': 'gn_debug_x64',
    131       'V8 arm - sim - beta branch': 'gn_release_simulate_arm',
    132       'V8 arm - sim - beta branch - debug': 'gn_debug_simulate_arm',
    133       'V8 arm - sim - stable branch': 'gn_release_simulate_arm',
    134       'V8 arm - sim - stable branch - debug': 'gn_debug_simulate_arm',
    135       'V8 mips64el - sim - beta branch': 'gn_release_simulate_mips64el',
    136       'V8 mips64el - sim - stable branch': 'gn_release_simulate_mips64el',
    137       'V8 mipsel - sim - beta branch': 'gn_release_simulate_mipsel',
    138       'V8 mipsel - sim - stable branch': 'gn_release_simulate_mipsel',
    139       'V8 ppc - sim - beta branch': 'gyp_release_simulate_ppc',
    140       'V8 ppc - sim - stable branch': 'gyp_release_simulate_ppc',
    141       'V8 ppc64 - sim - beta branch': 'gyp_release_simulate_ppc64',
    142       'V8 ppc64 - sim - stable branch': 'gyp_release_simulate_ppc64',
    143       'V8 s390 - sim - beta branch': 'gyp_release_simulate_s390',
    144       'V8 s390 - sim - stable branch': 'gyp_release_simulate_s390',
    145       'V8 s390x - sim - beta branch': 'gyp_release_simulate_s390x',
    146       'V8 s390x - sim - stable branch': 'gyp_release_simulate_s390x',
    147     },
    148     'tryserver.v8': {
    149       'v8_linux_rel_ng': 'gn_release_x86_gcmole_trybot',
    150       'v8_linux_avx2_dbg': 'gn_debug_x86_trybot',
    151       'v8_linux_nodcheck_rel_ng': 'gn_release_x86_minimal_symbols',
    152       'v8_linux_dbg_ng': 'gn_debug_x86_trybot',
    153       'v8_linux_noi18n_rel_ng': 'gn_release_x86_no_i18n_trybot',
    154       'v8_linux_gc_stress_dbg': 'gn_debug_x86_trybot',
    155       'v8_linux_nosnap_rel': 'gn_release_x86_no_snap_trybot',
    156       'v8_linux_nosnap_dbg': 'gn_debug_x86_no_snap_trybot',
    157       'v8_linux_gcc_compile_rel': 'gn_release_x86_gcc_minimal_symbols',
    158       'v8_linux_gcc_rel': 'gn_release_x86_gcc_minimal_symbols',
    159       'v8_linux64_rel_ng': 'gn_release_x64_valgrind_trybot',
    160       'v8_linux64_gyp_rel_ng': 'gyp_release_x64',
    161       'v8_linux64_avx2_rel_ng': 'gn_release_x64_trybot',
    162       'v8_linux64_avx2_dbg': 'gn_debug_x64_trybot',
    163       'v8_linux64_asan_rel_ng': 'gn_release_x64_asan_minimal_symbols',
    164       'v8_linux64_msan_rel': 'gn_release_simulate_arm64_msan_minimal_symbols',
    165       'v8_linux64_sanitizer_coverage_rel':
    166           'gyp_release_x64_asan_minimal_symbols_coverage',
    167       'v8_linux64_tsan_rel': 'gn_release_x64_tsan_minimal_symbols',
    168       'v8_win_dbg': 'gn_debug_x86_trybot',
    169       'v8_win_compile_dbg': 'gn_debug_x86_trybot',
    170       'v8_win_rel_ng': 'gn_release_x86_trybot',
    171       'v8_win_nosnap_shared_rel_ng':
    172         'gn_release_x86_no_snap_shared_minimal_symbols',
    173       'v8_win64_dbg': 'gn_debug_x64_minimal_symbols',
    174       'v8_win64_rel_ng': 'gn_release_x64_trybot',
    175       'v8_mac_rel_ng': 'gn_release_x86_trybot',
    176       'v8_mac_dbg': 'gn_debug_x86_trybot',
    177       'v8_mac_gc_stress_dbg': 'gn_debug_x86_trybot',
    178       'v8_mac64_rel': 'gn_release_x64_trybot',
    179       'v8_mac64_dbg': 'gn_debug_x64_minimal_symbols',
    180       'v8_mac64_asan_rel': 'gn_release_x64_asan_no_lsan',
    181       'v8_linux_arm_rel_ng': 'gn_release_simulate_arm_trybot',
    182       'v8_linux_arm_dbg': 'gn_debug_simulate_arm',
    183       'v8_linux_arm_armv8a_rel': 'gn_release_simulate_arm_trybot',
    184       'v8_linux_arm_armv8a_dbg': 'gn_debug_simulate_arm',
    185       'v8_linux_arm64_rel_ng': 'gn_release_simulate_arm64_trybot',
    186       'v8_linux_arm64_dbg': 'gn_debug_simulate_arm64',
    187       'v8_linux_arm64_gc_stress_dbg': 'gn_debug_simulate_arm64',
    188       'v8_linux_mipsel_compile_rel': 'gn_release_simulate_mipsel',
    189       'v8_linux_mips64el_compile_rel': 'gn_release_simulate_mips64el',
    190       'v8_android_arm_compile_rel': 'gn_release_android_arm',
    191     },
    192   },
    193 
    194 
    195   # To ease readability, config values are ordered by:
    196   # gyp/gn, release/debug, arch type, other values alphabetically.
    197   'configs': {
    198     # Developer default configs.
    199     'default_debug_arm': [
    200       'gn', 'debug', 'simulate_arm', 'v8_enable_slow_dchecks',
    201       'v8_full_debug'],
    202     'default_optdebug_arm': [
    203       'gn', 'debug', 'simulate_arm', 'v8_enable_slow_dchecks'],
    204     'default_release_arm': [
    205       'gn', 'release', 'simulate_arm'],
    206     'default_debug_arm64': [
    207       'gn', 'debug', 'simulate_arm64', 'v8_enable_slow_dchecks',
    208       'v8_full_debug'],
    209     'default_optdebug_arm64': [
    210       'gn', 'debug', 'simulate_arm64', 'v8_enable_slow_dchecks'],
    211     'default_release_arm64': [
    212       'gn', 'release', 'simulate_arm64'],
    213     'default_debug_x64': [
    214       'gn', 'debug', 'x64', 'v8_enable_slow_dchecks', 'v8_full_debug'],
    215     'default_optdebug_x64': [
    216       'gn', 'debug', 'x64', 'v8_enable_slow_dchecks'],
    217     'default_release_x64': [
    218       'gn', 'release', 'x64'],
    219     'default_debug_x86': [
    220       'gn', 'debug', 'x86', 'v8_enable_slow_dchecks', 'v8_full_debug'],
    221     'default_optdebug_x86': [
    222       'gn', 'debug', 'x86', 'v8_enable_slow_dchecks'],
    223     'default_release_x86': [
    224       'gn', 'release', 'x86'],
    225 
    226 
    227     # GN debug configs for simulators.
    228     'gn_debug_simulate_arm': [
    229       'gn', 'debug_bot', 'simulate_arm', 'swarming'],
    230     'gn_debug_simulate_arm_asan_edge': [
    231       'gn', 'debug_bot', 'simulate_arm', 'asan', 'edge'],
    232     'gn_debug_simulate_arm64': [
    233       'gn', 'debug_bot', 'simulate_arm64', 'swarming'],
    234     'gn_debug_simulate_arm64_asan_edge': [
    235       'gn', 'debug_bot', 'simulate_arm64', 'asan', 'lsan', 'edge'],
    236     'gn_debug_simulate_arm64_no_snap': [
    237       'gn', 'debug_bot', 'simulate_arm64', 'swarming', 'v8_snapshot_none'],
    238     'gn_debug_simulate_mipsel_asan_edge': [
    239       'gn', 'debug_bot', 'simulate_mipsel', 'asan', 'edge'],
    240 
    241     # GN release configs for simulators.
    242     'gn_release_simulate_arm': [
    243       'gn', 'release_bot', 'simulate_arm', 'swarming'],
    244     'gn_release_simulate_arm_trybot': [
    245       'gn', 'release_trybot', 'simulate_arm', 'swarming'],
    246     'gn_release_simulate_arm64': [
    247       'gn', 'release_bot', 'simulate_arm64', 'swarming'],
    248     'gn_release_simulate_arm64_msan': [
    249       'gn', 'release_bot', 'simulate_arm64', 'msan', 'swarming'],
    250     'gn_release_simulate_arm64_msan_minimal_symbols': [
    251       'gn', 'release_bot', 'simulate_arm64', 'msan', 'minimal_symbols',
    252       'swarming'],
    253     'gn_release_simulate_arm64_trybot': [
    254       'gn', 'release_trybot', 'simulate_arm64', 'swarming'],
    255     'gn_release_simulate_mipsel': [
    256       'gn', 'release_bot', 'simulate_mipsel', 'swarming'],
    257     'gn_release_simulate_mips64el': [
    258       'gn', 'release_bot', 'simulate_mips64el', 'swarming'],
    259 
    260     # GN debug configs for arm.
    261     'gn_debug_arm': [
    262       'gn', 'debug_bot', 'arm', 'crosscompile', 'hard_float', 'swarming'],
    263 
    264     # GN release configs for arm.
    265     'gn_release_arm': [
    266       'gn', 'release_bot', 'arm', 'crosscompile', 'hard_float', 'swarming'],
    267     'gn_release_android_arm': [
    268       'gn', 'release_bot', 'arm', 'android', 'crosscompile',
    269       'minimal_symbols', 'swarming'],
    270     'gn_release_android_arm64': [
    271       'gn', 'release_bot', 'arm64', 'android', 'crosscompile',
    272       'minimal_symbols', 'swarming'],
    273 
    274     # GN release configs for x64.
    275     'gn_release_x64': [
    276       'gn', 'release_bot', 'x64', 'swarming'],
    277     'gn_release_x64_asan': [
    278       'gn', 'release_bot', 'x64', 'asan', 'lsan', 'swarming'],
    279     'gn_release_x64_asan_minimal_symbols': [
    280       'gn', 'release_bot', 'x64', 'asan', 'lsan', 'minimal_symbols',
    281       'swarming'],
    282     'gn_release_x64_asan_no_lsan': [
    283       'gn', 'release_bot', 'x64', 'asan', 'swarming'],
    284     'gn_release_x64_asan_symbolized_edge_verify_heap': [
    285       'gn', 'release_bot', 'x64', 'asan', 'edge', 'lsan', 'symbolized',
    286       'v8_verify_heap'],
    287     'gn_release_x64_clang': [
    288       'gn', 'release_bot', 'x64', 'clang', 'swarming'],
    289     'gn_release_x64_internal': [
    290       'gn', 'release_bot', 'x64', 'swarming', 'v8_snapshot_internal'],
    291     'gn_release_x64_minimal_symbols': [
    292       'gn', 'release_bot', 'x64', 'minimal_symbols', 'swarming'],
    293     'gn_release_x64_trybot': [
    294       'gn', 'release_trybot', 'x64', 'swarming'],
    295     'gn_release_x64_tsan': [
    296       'gn', 'release_bot', 'x64', 'tsan', 'swarming'],
    297     'gn_release_x64_tsan_minimal_symbols': [
    298       'gn', 'release_bot', 'x64', 'tsan', 'minimal_symbols', 'swarming'],
    299     'gn_release_x64_valgrind': [
    300       'gn', 'release_bot', 'x64', 'swarming', 'valgrind'],
    301     'gn_release_x64_valgrind_trybot': [
    302       'gn', 'release_trybot', 'x64', 'swarming', 'valgrind'],
    303 
    304     # GN debug configs for x64.
    305     'gn_debug_x64': [
    306       'gn', 'debug_bot', 'x64', 'swarming'],
    307     'gn_debug_x64_asan_edge': [
    308       'gn', 'debug_bot', 'x64', 'asan', 'lsan', 'edge'],
    309     'gn_debug_x64_custom': [
    310       'gn', 'debug_bot', 'x64', 'swarming', 'v8_snapshot_custom'],
    311     'gn_debug_x64_minimal_symbols': [
    312       'gn', 'debug_bot', 'x64', 'minimal_symbols', 'swarming'],
    313     'gn_debug_x64_trybot': [
    314       'gn', 'debug_trybot', 'x64', 'swarming'],
    315     'gn_debug_x64_valgrind': [
    316       'gn', 'debug_bot', 'x64', 'swarming', 'valgrind'],
    317 
    318     # GN debug configs for x86.
    319     'gn_debug_x86': [
    320       'gn', 'debug_bot', 'x86', 'swarming'],
    321     'gn_debug_x86_minimal_symbols': [
    322       'gn', 'debug_bot', 'x86', 'minimal_symbols', 'swarming'],
    323     'gn_debug_x86_no_i18n': [
    324       'gn', 'debug_bot', 'x86', 'swarming', 'v8_disable_inspector',
    325       'v8_no_i18n'],
    326     'gn_debug_x86_no_snap': [
    327       'gn', 'debug_bot', 'x86', 'swarming', 'v8_snapshot_none'],
    328     'gn_debug_x86_no_snap_trybot': [
    329       'gn', 'debug_trybot', 'x86', 'swarming', 'v8_snapshot_none'],
    330     'gn_debug_x86_trybot': [
    331       'gn', 'debug_trybot', 'x86', 'swarming'],
    332 
    333     # GN release configs for x86.
    334     'gn_release_x86': [
    335       'gn', 'release_bot', 'x86', 'swarming'],
    336     'gn_release_x86_gcc': [
    337       'gn', 'release_bot', 'x86', 'gcc'],
    338     'gn_release_x86_gcc_minimal_symbols': [
    339       'gn', 'release_bot', 'x86', 'gcc', 'minimal_symbols'],
    340     'gn_release_x86_gcmole': [
    341       'gn', 'release_bot', 'x86', 'gcmole', 'swarming'],
    342     'gn_release_x86_gcmole_trybot': [
    343       'gn', 'release_trybot', 'x86', 'gcmole', 'swarming'],
    344     'gn_release_x86_minimal_symbols': [
    345       'gn', 'release_bot', 'x86', 'minimal_symbols', 'swarming'],
    346     'gn_release_x86_no_i18n_trybot': [
    347       'gn', 'release_trybot', 'x86', 'swarming', 'v8_disable_inspector',
    348       'v8_no_i18n'],
    349     'gn_release_x86_no_snap': [
    350       'gn', 'release_bot', 'x86', 'swarming', 'v8_snapshot_none'],
    351     'gn_release_x86_no_snap_shared_minimal_symbols': [
    352       'gn', 'release', 'x86', 'goma', 'minimal_symbols', 'shared', 'swarming',
    353       'v8_snapshot_none'],
    354     'gn_release_x86_no_snap_trybot': [
    355       'gn', 'release_trybot', 'x86', 'swarming', 'v8_snapshot_none'],
    356     'gn_release_x86_shared_verify_heap': [
    357       'gn', 'release', 'x86', 'goma', 'shared', 'swarming', 'v8_verify_heap'],
    358     'gn_release_x86_trybot': [
    359       'gn', 'release_trybot', 'x86', 'swarming'],
    360 
    361     # Gyp debug configs for simulators.
    362     'gyp_debug_simulate_x87_no_snap': [
    363       'gyp', 'debug_bot_static', 'simulate_x87', 'swarming',
    364       'v8_snapshot_none'],
    365 
    366     # Gyp debug configs for x86.
    367     'gyp_debug_x86': [
    368       'gyp', 'debug_bot', 'x86', 'swarming'],
    369     'gyp_debug_x86_vtunejit': [
    370       'gyp', 'debug_bot', 'x86', 'v8_enable_vtunejit'],
    371     'gyp_full_debug_x86': [
    372       'gyp', 'debug', 'x86', 'goma', 'static', 'v8_enable_slow_dchecks',
    373       'v8_full_debug'],
    374 
    375     # Gyp release configs for mips.
    376     'gyp_release_mips_no_snap_no_i18n': [
    377       'gyp', 'release', 'mips', 'crosscompile', 'static', 'v8_no_i18n',
    378       'v8_snapshot_none'],
    379 
    380     # Gyp release configs for simulators.
    381     'gyp_release_simulate_ppc': [
    382       'gyp', 'release_bot', 'simulate_ppc', 'swarming'],
    383     'gyp_release_simulate_ppc64': [
    384       'gyp', 'release_bot', 'simulate_ppc64', 'swarming'],
    385     'gyp_release_simulate_s390': [
    386       'gyp', 'release_bot', 'simulate_s390', 'swarming'],
    387     'gyp_release_simulate_s390x': [
    388       'gyp', 'release_bot', 'simulate_s390x', 'swarming'],
    389 
    390     # Gyp release configs for x64.
    391     'gyp_release_x64': [
    392       'gyp', 'release_bot', 'x64', 'swarming'],
    393     'gyp_release_x64_asan_minimal_symbols_coverage': [
    394       'gyp', 'release_bot', 'x64', 'asan', 'bb', 'coverage', 'lsan',
    395       'minimal_symbols', 'swarming'],
    396     'gyp_release_x64_cfi_symbolized': [
    397       'gyp', 'release_bot', 'x64', 'cfi', 'swarming', 'symbolized'],
    398     'gyp_release_x64_gcc_coverage': [
    399       'gyp', 'release_bot', 'x64', 'coverage', 'gcc'],
    400 
    401     # Gyp release configs for x86.
    402     'gyp_release_x86_disassembler': [
    403       'gyp', 'release_bot', 'x86', 'v8_enable_disassembler'],
    404     'gyp_release_x86_interpreted_regexp': [
    405       'gyp', 'release_bot', 'x86', 'v8_interpreted_regexp'],
    406     'gyp_release_x86_predictable': [
    407       'gyp', 'release_bot', 'x86', 'v8_enable_verify_predictable'],
    408   },
    409 
    410   'mixins': {
    411     'android': {
    412       'gn_args': 'target_os="android" v8_android_log_stdout=true',
    413       'gyp_defines': 'OS=android v8_android_log_stdout=1',
    414     },
    415 
    416     'arm': {
    417       'gn_args': 'target_cpu="arm"',
    418       'gyp_defines': 'target_arch=arm',
    419     },
    420 
    421     'arm64': {
    422       'gn_args': 'target_cpu="arm64"',
    423       'gyp_defines': 'target_arch=arm64',
    424     },
    425 
    426     'asan': {
    427       'gn_args': 'is_asan=true',
    428       'gyp_defines': 'clang=1 asan=1',
    429     },
    430 
    431     'bb': {
    432       'gn_args': 'sanitizer_coverage_flags="bb"',
    433       'gyp_defines': 'sanitizer_coverage=bb',
    434     },
    435 
    436     'cfi': {
    437       'gn_args': 'is_cfi=true use_cfi_diag=true',
    438       'gyp_defines': 'cfi_vptr=1 cfi_diag=1',
    439     },
    440 
    441     'clang': {
    442       'gn_args': 'is_clang=true',
    443       'gyp_defines': 'clang=1',
    444     },
    445 
    446     'coverage': {
    447       # TODO(machenbach): Add this to gn.
    448       'gyp_defines': 'coverage=1',
    449     },
    450 
    451     'crosscompile': {
    452       'gyp_crosscompile': True,
    453     },
    454 
    455     'dcheck_always_on': {
    456       'gn_args': 'dcheck_always_on=true',
    457       'gyp_defines': 'dcheck_always_on=1',
    458     },
    459 
    460     'debug': {
    461       'gn_args': 'is_debug=true v8_enable_backtrace=true',
    462       'gyp_defines': 'v8_enable_backtrace=1',
    463     },
    464 
    465     'debug_bot': {
    466       'mixins': [
    467         'debug', 'shared', 'goma', 'v8_enable_slow_dchecks',
    468         'v8_optimized_debug'],
    469     },
    470 
    471     'debug_bot_static': {
    472       'mixins': [
    473         'debug', 'static', 'goma', 'v8_enable_slow_dchecks',
    474         'v8_optimized_debug'],
    475     },
    476 
    477     'debug_trybot': {
    478       'mixins': ['debug_bot', 'minimal_symbols'],
    479     },
    480 
    481     'edge': {
    482       'gn_args': 'sanitizer_coverage_flags="edge"',
    483       'gyp_defines': 'sanitizer_coverage=edge',
    484     },
    485 
    486     'gcc': {
    487       'gn_args': 'is_clang=false use_sysroot=false',
    488       'gyp_defines': 'clang=0',
    489     },
    490 
    491     'gcmole': {
    492       'gn_args': 'v8_gcmole=true',
    493       'gyp_defines': 'gcmole=1',
    494     },
    495 
    496     'gn': {'type': 'gn'},
    497 
    498     'goma': {
    499       # The MB code will properly escape goma_dir if necessary in the GYP
    500       # code path; the GN code path needs no escaping.
    501       'gn_args': 'use_goma=true',
    502       'gyp_defines': 'use_goma=1',
    503     },
    504 
    505     'gyp': {'type': 'gyp'},
    506 
    507     'hard_float': {
    508       'gn_args': 'arm_float_abi="hard"',
    509       'gyp_defines': 'arm_float_abi=hard',
    510     },
    511 
    512     'lsan': {
    513       'gn_args': 'is_lsan=true',
    514       'gyp_defines': 'lsan=1',
    515     },
    516 
    517     'minimal_symbols': {
    518       'gn_args': 'symbol_level=1',
    519       'gyp_defines': 'fastbuild=1',
    520     },
    521 
    522     'mips': {
    523       'gn_args': 'target_cpu="mips"',
    524       'gyp_defines': 'target_arch=mips',
    525     },
    526 
    527     'msan': {
    528       'gn_args': ('is_msan=true msan_track_origins=2 '
    529                   'use_prebuilt_instrumented_libraries=true'),
    530       'gyp_defines': ('clang=1 msan=1 msan_track_origins=2 '
    531                       'use_prebuilt_instrumented_libraries=1'),
    532     },
    533 
    534     'release': {
    535       'gn_args': 'is_debug=false',
    536     },
    537 
    538     'release_bot': {
    539       'mixins': ['release', 'static', 'goma'],
    540     },
    541 
    542     'release_trybot': {
    543       'mixins': ['release_bot', 'minimal_symbols', 'dcheck_always_on'],
    544     },
    545 
    546     'shared': {
    547       'gn_args': 'is_component_build=true',
    548       'gyp_defines': 'component=shared_library',
    549     },
    550 
    551     'simulate_arm': {
    552       'gn_args': 'target_cpu="x86" v8_target_cpu="arm"',
    553       'gyp_defines': 'target_arch=ia32 v8_target_arch=arm',
    554     },
    555 
    556     'simulate_arm64': {
    557       'gn_args': 'target_cpu="x64" v8_target_cpu="arm64"',
    558       'gyp_defines': 'target_arch=x64 v8_target_arch=arm64',
    559     },
    560 
    561     'simulate_mipsel': {
    562       'gn_args':
    563           'target_cpu="x86" v8_target_cpu="mipsel" mips_arch_variant="r2"',
    564       'gyp_defines': 'target_arch=ia32 v8_target_arch=mipsel',
    565     },
    566 
    567     'simulate_mips64el': {
    568       'gn_args': 'target_cpu="x64" v8_target_cpu="mips64el"',
    569       'gyp_defines': 'target_arch=x64 v8_target_arch=mips64el',
    570     },
    571 
    572     'simulate_ppc': {
    573       'gn_args': 'target_cpu="x86" v8_target_cpu="ppc"',
    574       'gyp_defines': 'target_arch=ia32 v8_target_arch=ppc',
    575     },
    576 
    577     'simulate_ppc64': {
    578       'gn_args': 'target_cpu="x64" v8_target_cpu="ppc64"',
    579       'gyp_defines': 'target_arch=x64 v8_target_arch=ppc64',
    580     },
    581 
    582     'simulate_s390': {
    583       'gn_args': 'target_cpu="x86" v8_target_cpu="s390"',
    584       'gyp_defines': 'target_arch=ia32 v8_target_arch=s390',
    585     },
    586 
    587     'simulate_s390x': {
    588       'gn_args': 'target_cpu="x64" v8_target_cpu="s390x"',
    589       'gyp_defines': 'target_arch=x64 v8_target_arch=s390x',
    590     },
    591 
    592     'simulate_x87': {
    593       'gn_args': 'target_cpu="x86" v8_target_cpu="x87"',
    594       'gyp_defines': 'target_arch=ia32 v8_target_arch=x87',
    595     },
    596 
    597     'static': {
    598       'gn_args': 'is_component_build=false',
    599       'gyp_defines': 'component=static_library',
    600     },
    601 
    602     'swarming': {
    603       'gn_args': 'v8_test_isolation_mode="prepare"',
    604       'gyp_defines': 'test_isolation_mode=prepare',
    605     },
    606 
    607     # TODO(machenbach): Remove the symbolized config after the bots are gone.
    608     'symbolized': {
    609       'gn_args': 'v8_no_inline=true',
    610       'gyp_defines':
    611         'release_extra_cflags="-fno-inline-functions -fno-inline"',
    612     },
    613 
    614     'tsan': {
    615       'gn_args': 'is_tsan=true',
    616       'gyp_defines': 'clang=1 tsan=1',
    617     },
    618 
    619     'valgrind': {
    620       'gn_args': 'v8_has_valgrind=true',
    621       'gyp_defines': 'has_valgrind=1',
    622     },
    623 
    624     'v8_no_i18n': {
    625       'gn_args': 'v8_enable_i18n_support=false icu_use_data_file=false',
    626       'gyp_defines': 'v8_enable_i18n_support=0 icu_use_data_file_flag=0',
    627     },
    628 
    629     'v8_disable_inspector': {
    630       'gn_args': 'v8_enable_inspector=false',
    631       'gyp_defines': 'v8_enable_inspector=0 ',
    632     },
    633 
    634     'v8_enable_disassembler': {
    635       'gn_args': 'v8_enable_disassembler=true',
    636       'gyp_defines': 'v8_enable_disassembler=1',
    637     },
    638 
    639     'v8_enable_slow_dchecks': {
    640       'gn_args': 'v8_enable_slow_dchecks=true',
    641       'gyp_defines': 'v8_enable_slow_dchecks=1',
    642     },
    643 
    644     'v8_enable_verify_predictable': {
    645       'gn_args': 'v8_enable_verify_predictable=true',
    646       'gyp_defines': 'v8_enable_verify_predictable=1',
    647     },
    648 
    649     'v8_enable_vtunejit': {
    650       'gn_args': 'v8_enable_vtunejit=true',
    651       'gyp_defines': 'v8_enable_vtunejit=1',
    652     },
    653 
    654     'v8_full_debug': {
    655       'gn_args': 'v8_optimized_debug=false',
    656       'gyp_defines': 'v8_optimized_debug=0',
    657     },
    658 
    659     'v8_interpreted_regexp': {
    660       'gn_args': 'v8_interpreted_regexp=true',
    661       'gyp_defines': 'v8_interpreted_regexp=1',
    662     },
    663 
    664     'v8_optimized_debug': {
    665       # This is the default in gn for debug.
    666       'gyp_defines': 'v8_optimized_debug=1',
    667     },
    668 
    669     'v8_snapshot_custom': {
    670       # GN path is relative to project root.
    671       'gn_args': 'v8_embed_script="test/mjsunit/mjsunit.js"',
    672 
    673       # Gyp path is relative to src/v8.gyp.
    674       'gyp_defines': 'embed_script=../test/mjsunit/mjsunit.js',
    675     },
    676 
    677     'v8_snapshot_internal': {
    678       'gn_args': 'v8_use_external_startup_data=false',
    679       'gyp_defines': 'v8_use_external_startup_data=0',
    680     },
    681 
    682     'v8_snapshot_none': {
    683       'gn_args': 'v8_use_snapshot=false',
    684       'gyp_defines': 'v8_use_snapshot=false',
    685     },
    686 
    687     'v8_verify_heap': {
    688       'gn_args': 'v8_enable_verify_heap=true',
    689       'gyp_defines': 'v8_enable_verify_heap=1',
    690     },
    691 
    692     'x64': {
    693       'gn_args': 'target_cpu="x64"',
    694       'gyp_defines': 'target_arch=x64',
    695     },
    696 
    697     'x86': {
    698       'gn_args': 'target_cpu="x86"',
    699       'gyp_defines': 'target_arch=ia32',
    700     },
    701   },
    702 }
    703