• Home
  • Line#
  • Scopes#
  • Navigate#
  • Raw
  • Download
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