• Home
  • Line#
  • Scopes#
  • Navigate#
  • Raw
  • Download
1target_config = {
2
3# Configuration syntax:
4#
5#   Required keys: (Use one or more of these)
6#    * golem - specify a golem machine-type to build, e.g. android-armv8
7#              (uses art/tools/golem/build-target.sh)
8#    * make - specify a make target to build, e.g. build-art-host
9#    * run-test - runs the tests in art/test/ directory with testrunner.py,
10#                 specify a list of arguments to pass to testrunner.py
11#
12#   Optional keys: (Use any of these)
13#    * env - Add additional environment variable to the current environment.
14#
15# *** IMPORTANT ***:
16#    This configuration is used by the android build server. Targets must not be renamed
17#    or removed.
18#
19
20##########################################
21
22    # General ART configurations.
23    # Calls make and testrunner both.
24
25    'art-test' : {
26        'make' : 'test-art-host-gtest',
27        'run-test' : [],
28        'env' : {
29            'ART_USE_READ_BARRIER' : 'true'
30        }
31    },
32
33    'art-test-javac' : {
34        'make' : 'test-art-host-gtest',
35        'run-test' : [],
36        'env' : {
37            'ANDROID_COMPILE_WITH_JACK' : 'false',
38            'ART_USE_READ_BARRIER' : 'true'
39        }
40    },
41
42    # ART run-test configurations
43    # (calls testrunner which builds and then runs the test targets)
44
45    'art-interpreter' : {
46        'run-test' : ['--interpreter'],
47        'env' : {
48            'ART_USE_READ_BARRIER' : 'true'
49        }
50    },
51    'art-interpreter-access-checks' : {
52        'run-test' : ['--interp-ac'],
53        'env' : {
54            'ART_USE_READ_BARRIER' : 'true'
55        }
56    },
57    'art-jit' : {
58        'run-test' : ['--jit'],
59        'env' : {
60            'ART_USE_READ_BARRIER' : 'true'
61        }
62    },
63    'art-gcstress-gcverify': {
64        'run-test': ['--gcstress',
65                     '--gcverify'],
66        'env' : {
67            'ART_USE_READ_BARRIER' : 'false',
68            'ART_DEFAULT_GC_TYPE' : 'SS'
69        }
70    },
71    'art-interpreter-gcstress' : {
72        'run-test' : ['--interpreter',
73                      '--gcstress'],
74        'env' : {
75            'ART_USE_READ_BARRIER' : 'false',
76            'ART_DEFAULT_GC_TYPE' : 'SS'
77        }
78    },
79    'art-optimizing-gcstress' : {
80        'run-test' : ['--gcstress',
81                      '--optimizing'],
82        'env' : {
83            'ART_USE_READ_BARRIER' : 'false',
84            'ART_DEFAULT_GC_TYPE' : 'SS'
85        }
86    },
87    'art-jit-gcstress' : {
88        'run-test' : ['--jit',
89                      '--gcstress'],
90        'env' : {
91            'ART_USE_READ_BARRIER' : 'false',
92            'ART_DEFAULT_GC_TYPE' : 'SS'
93        }
94    },
95    'art-read-barrier' : {
96        'run-test': ['--interpreter',
97                  '--optimizing'],
98        'env' : {
99            'ART_USE_READ_BARRIER' : 'true',
100            'ART_HEAP_POISONING' : 'true'
101        }
102    },
103    'art-read-barrier-gcstress' : {
104        'run-test' : ['--interpreter',
105                      '--optimizing',
106                      '--gcstress'],
107        'env' : {
108            'ART_USE_READ_BARRIER' : 'true',
109            'ART_HEAP_POISONING' : 'true'
110        }
111    },
112    'art-read-barrier-table-lookup' : {
113        'run-test' : ['--interpreter',
114                      '--optimizing'],
115        'env' : {
116            'ART_USE_READ_BARRIER' : 'true',
117            'ART_READ_BARRIER_TYPE' : 'TABLELOOKUP',
118            'ART_HEAP_POISONING' : 'true'
119        }
120    },
121    'art-debug-gc' : {
122        'run-test' : ['--interpreter',
123                      '--optimizing'],
124        'env' : {
125            'ART_TEST_DEBUG_GC' : 'true',
126            'ART_USE_READ_BARRIER' : 'false'
127        }
128    },
129    'art-ss-gc' : {
130        'run-test' : ['--interpreter',
131                      '--optimizing',
132                      '--jit'],
133        'env' : {
134            'ART_DEFAULT_GC_TYPE' : 'SS',
135            'ART_USE_READ_BARRIER' : 'false'
136        }
137    },
138    'art-gss-gc' : {
139        'run-test' : ['--interpreter',
140                      '--optimizing',
141                      '--jit'],
142        'env' : {
143            'ART_DEFAULT_GC_TYPE' : 'GSS',
144            'ART_USE_READ_BARRIER' : 'false'
145        }
146    },
147    'art-ss-gc-tlab' : {
148        'run-test' : ['--interpreter',
149                      '--optimizing',
150                      '--jit'],
151        'env' : {
152            'ART_DEFAULT_GC_TYPE' : 'SS',
153            'ART_USE_TLAB' : 'true',
154            'ART_USE_READ_BARRIER' : 'false'
155        }
156    },
157    'art-gss-gc-tlab' : {
158        'run-test' : ['--interpreter',
159                      '--optimizing',
160                      '--jit'],
161        'env' : {
162            'ART_DEFAULT_GC_TYPE' : 'GSS',
163            'ART_USE_TLAB' : 'true',
164            'ART_USE_READ_BARRIER' : 'false'
165        }
166    },
167    'art-tracing' : {
168        'run-test' : ['--trace'],
169        'env' : {
170            'ART_USE_READ_BARRIER' : 'true'
171        }
172    },
173    'art-interpreter-tracing' : {
174        'run-test' : ['--interpreter',
175                      '--trace'],
176        'env' : {
177            'ART_USE_READ_BARRIER' : 'true',
178        }
179    },
180    'art-forcecopy' : {
181        'run-test' : ['--forcecopy'],
182        'env' : {
183            'ART_USE_READ_BARRIER' : 'true',
184        }
185    },
186    'art-no-prebuild' : {
187        'run-test' : ['--no-prebuild'],
188        'env' : {
189            'ART_USE_READ_BARRIER' : 'true',
190        }
191    },
192    'art-no-image' : {
193        'run-test' : ['--no-image'],
194        'env' : {
195            'ART_USE_READ_BARRIER' : 'true',
196        }
197    },
198    'art-interpreter-no-image' : {
199        'run-test' : ['--interpreter',
200                      '--no-image'],
201        'env' : {
202            'ART_USE_READ_BARRIER' : 'true',
203        }
204    },
205    'art-relocate-no-patchoat' : {
206        'run-test' : ['--relocate-npatchoat'],
207        'env' : {
208            'ART_USE_READ_BARRIER' : 'true',
209        }
210    },
211    'art-no-dex2oat' : {
212        'run-test' : ['--no-dex2oat'],
213        'env' : {
214            'ART_USE_READ_BARRIER' : 'true',
215        }
216    },
217    'art-heap-poisoning' : {
218        'run-test' : ['--interpreter',
219                      '--optimizing'],
220        'env' : {
221            'ART_USE_READ_BARRIER' : 'false',
222            'ART_HEAP_POISONING' : 'true'
223        }
224    },
225    'art-preopt' : {
226        # This test configuration is intended to be representative of the case
227        # of preopted apps, which are precompiled compiled pic against an
228        # unrelocated image, then used with a relocated image.
229        'run-test' : ['--pictest',
230                      '--prebuild',
231                      '--relocate',
232                      '--jit'],
233        'env' : {
234            'ART_USE_READ_BARRIER' : 'true'
235        }
236    },
237
238    # ART gtest configurations
239    # (calls make 'target' which builds and then runs the gtests).
240
241    'art-gtest' : {
242        'make' :  'test-art-host-gtest',
243        'env' : {
244            'ART_USE_READ_BARRIER' : 'true'
245        }
246    },
247    'art-gtest-read-barrier': {
248        'make' :  'test-art-host-gtest',
249        'env' : {
250            'ART_USE_READ_BARRIER' : 'true',
251            'ART_HEAP_POISONING' : 'true'
252        }
253    },
254    'art-gtest-read-barrier-table-lookup': {
255        'make' :  'test-art-host-gtest',
256        'env': {
257            'ART_USE_READ_BARRIER' : 'true',
258            'ART_READ_BARRIER_TYPE' : 'TABLELOOKUP',
259            'ART_HEAP_POISONING' : 'true'
260        }
261    },
262    'art-gtest-ss-gc': {
263        'make' :  'test-art-host-gtest',
264        'env': {
265            'ART_DEFAULT_GC_TYPE' : 'SS',
266            'ART_USE_READ_BARRIER' : 'false'
267        }
268    },
269    'art-gtest-gss-gc': {
270        'make' :  'test-art-host-gtest',
271        'env' : {
272            'ART_DEFAULT_GC_TYPE' : 'GSS',
273            'ART_USE_READ_BARRIER' : 'false'
274        }
275    },
276    'art-gtest-ss-gc-tlab': {
277        'make' :  'test-art-host-gtest',
278        'env': {
279            'ART_DEFAULT_GC_TYPE' : 'SS',
280            'ART_USE_TLAB' : 'true',
281            'ART_USE_READ_BARRIER' : 'false',
282        }
283    },
284    'art-gtest-gss-gc-tlab': {
285        'make' :  'test-art-host-gtest',
286        'env': {
287            'ART_DEFAULT_GC_TYPE' : 'GSS',
288            'ART_USE_TLAB' : 'true',
289            'ART_USE_READ_BARRIER' : 'false'
290        }
291    },
292    'art-gtest-debug-gc' : {
293        'make' :  'test-art-host-gtest',
294        'env' : {
295            'ART_TEST_DEBUG_GC' : 'true',
296            'ART_USE_READ_BARRIER' : 'false'
297        }
298    },
299    'art-gtest-valgrind32': {
300        'make' : 'valgrind-test-art-host32',
301        'env': {
302            'ART_USE_READ_BARRIER' : 'false'
303        }
304    },
305    'art-gtest-valgrind64': {
306        'make' : 'valgrind-test-art-host64',
307        'env': {
308            'ART_USE_READ_BARRIER' : 'false'
309        }
310    },
311    'art-gtest-heap-poisoning': {
312        'make' : 'valgrind-test-art-host64',
313        'env' : {
314            'ART_HEAP_POISONING' : 'true',
315            'ART_USE_READ_BARRIER' : 'false'
316        }
317    },
318
319   # ART Golem build targets used by go/lem (continuous ART benchmarking),
320   # (art-opt-cc is used by default since it mimics the default preopt config),
321   #
322   # calls golem/build-target.sh which builds a golem tarball of the target name,
323   #     e.g. 'golem: android-armv7' produces an 'android-armv7.tar.gz' upon success.
324
325    'art-golem-android-armv7': {
326        'golem' : 'android-armv7'
327    },
328    'art-golem-android-armv8': {
329        'golem' : 'android-armv8'
330    },
331    'art-golem-linux-armv7': {
332        'golem' : 'linux-armv7'
333    },
334    'art-golem-linux-armv8': {
335        'golem' : 'linux-armv8'
336    },
337    'art-golem-linux-ia32': {
338        'golem' : 'linux-ia32'
339    },
340    'art-golem-linux-x64': {
341        'golem' : 'linux-x64'
342    },
343}
344