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