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 }, 29 30 'art-test-javac' : { 31 'run-test' : ['--jvm'] 32 }, 33 34 # ART run-test configurations 35 # (calls testrunner which builds and then runs the test targets) 36 37 'art-ndebug' : { 38 'run-test' : ['--ndebug'] 39 }, 40 'art-interpreter' : { 41 'run-test' : ['--interpreter'] 42 }, 43 'art-interpreter-cxx' : { 44 'run-test' : ['--interpreter'], 45 'env' : { 46 'ART_USE_CXX_INTERPRETER' : 'true' 47 } 48 }, 49 'art-interpreter-access-checks' : { 50 'run-test' : ['--interp-ac'] 51 }, 52 'art-jit' : { 53 'run-test' : ['--jit', '--debuggable', '--ndebuggable'] 54 }, 55 'art-jit-on-first-use' : { 56 'run-test' : ['--jit-on-first-use'] 57 }, 58 'art-pictest' : { 59 # Deprecated config: All AOT-compiled code is PIC now. 60 'run-test' : ['--optimizing'] 61 }, 62 'art-gcstress-gcverify': { 63 # Do not exercise '--interpreter', '--optimizing', nor '--jit' in this 64 # configuration, as they are covered by the 65 # 'art-interpreter-gcstress-gcverify', 66 # 'art-optimizing-gcstress-gcverify' and 'art-jit-gcstress-gcverify' 67 # configurations below. 68 'run-test': ['--interp-ac', 69 '--speed-profile', 70 '--gcstress', 71 '--gcverify'] 72 }, 73 'art-interpreter-gcstress-gcverify' : { 74 'run-test' : ['--interpreter', 75 '--gcstress', 76 '--gcverify'] 77 }, 78 'art-optimizing-gcstress-gcverify' : { 79 'run-test' : ['--optimizing', 80 '--gcstress', 81 '--gcverify'] 82 }, 83 'art-jit-gcstress-gcverify' : { 84 'run-test' : ['--jit', 85 '--gcstress', 86 '--gcverify'] 87 }, 88 'art-jit-on-first-use-gcstress' : { 89 'run-test' : ['--jit-on-first-use', 90 '--gcstress'] 91 }, 92 'art-read-barrier-heap-poisoning' : { 93 'run-test': ['--interpreter', 94 '--optimizing'], 95 'env' : { 96 'ART_HEAP_POISONING' : 'true' 97 } 98 }, 99 'art-read-barrier-table-lookup' : { 100 'run-test' : ['--interpreter', 101 '--optimizing'], 102 'env' : { 103 'ART_READ_BARRIER_TYPE' : 'TABLELOOKUP', 104 'ART_HEAP_POISONING' : 'true' 105 } 106 }, 107 'art-debug-gc' : { 108 'run-test' : ['--interpreter', 109 '--optimizing'], 110 'env' : { 111 'ART_TEST_DEBUG_GC' : 'true', 112 'ART_USE_READ_BARRIER' : 'false' 113 } 114 }, 115 # TODO: Consider removing this configuration when it is no longer used by 116 # any continuous testing target (b/62611253), as the SS collector overlaps 117 # with the CC collector, since both move objects. 118 'art-ss-gc' : { 119 'run-test' : ['--interpreter', 120 '--optimizing', 121 '--jit'], 122 'env' : { 123 'ART_DEFAULT_GC_TYPE' : 'SS', 124 'ART_USE_READ_BARRIER' : 'false' 125 } 126 }, 127 # TODO: Consider removing this configuration when it is no longer used by 128 # any continuous testing target (b/62611253), as the SS collector overlaps 129 # with the CC collector, since both move objects. 130 'art-ss-gc-tlab' : { 131 'run-test' : ['--interpreter', 132 '--optimizing', 133 '--jit'], 134 'env' : { 135 'ART_DEFAULT_GC_TYPE' : 'SS', 136 'ART_USE_TLAB' : 'true', 137 'ART_USE_READ_BARRIER' : 'false' 138 } 139 }, 140 'art-tracing' : { 141 'run-test' : ['--trace', 142 '--stream'] 143 }, 144 'art-interpreter-tracing' : { 145 'run-test' : ['--interpreter', 146 '--trace'] 147 }, 148 'art-forcecopy' : { 149 'run-test' : ['--forcecopy'] 150 }, 151 'art-no-prebuild' : { 152 'run-test' : ['--no-prebuild'] 153 }, 154 'art-no-image' : { 155 'run-test' : ['--no-image'] 156 }, 157 'art-interpreter-no-image' : { 158 'run-test' : ['--interpreter', 159 '--no-image'] 160 }, 161 'art-heap-poisoning' : { 162 'run-test' : ['--interpreter', 163 '--optimizing'], 164 'env' : { 165 'ART_USE_READ_BARRIER' : 'false', 166 'ART_HEAP_POISONING' : 'true' 167 } 168 }, 169 'art-preopt' : { 170 # This test configuration is intended to be representative of the case 171 # of preopted apps, which are precompiled against an 172 # unrelocated image, then used with a relocated image. 173 'run-test' : ['--prebuild', 174 '--relocate', 175 '--jit'] 176 }, 177 178 # ART gtest configurations 179 # (calls make 'target' which builds and then runs the gtests). 180 181 'art-gtest' : { 182 'make' : 'test-art-host-gtest' 183 }, 184 'art-gtest-read-barrier': { 185 'make' : 'test-art-host-gtest', 186 'env' : { 187 'ART_HEAP_POISONING' : 'true' 188 } 189 }, 190 'art-gtest-read-barrier-table-lookup': { 191 'make' : 'test-art-host-gtest', 192 'env': { 193 'ART_READ_BARRIER_TYPE' : 'TABLELOOKUP', 194 'ART_HEAP_POISONING' : 'true' 195 } 196 }, 197 # TODO: Consider removing this configuration when it is no longer used by 198 # any continuous testing target (b/62611253), as the SS collector overlaps 199 # with the CC collector, since both move objects. 200 'art-gtest-ss-gc': { 201 'make' : 'test-art-host-gtest', 202 'env': { 203 'ART_DEFAULT_GC_TYPE' : 'SS', 204 'ART_USE_READ_BARRIER' : 'false' 205 } 206 }, 207 # TODO: Consider removing this configuration when it is no longer used by 208 # any continuous testing target (b/62611253), as the SS collector overlaps 209 # with the CC collector, since both move objects. 210 'art-gtest-ss-gc-tlab': { 211 'make' : 'test-art-host-gtest', 212 'env': { 213 'ART_DEFAULT_GC_TYPE' : 'SS', 214 'ART_USE_TLAB' : 'true', 215 'ART_USE_READ_BARRIER' : 'false', 216 } 217 }, 218 'art-gtest-debug-gc' : { 219 'make' : 'test-art-host-gtest', 220 'env' : { 221 'ART_TEST_DEBUG_GC' : 'true', 222 'ART_USE_READ_BARRIER' : 'false' 223 } 224 }, 225 'art-generational-cc': { 226 'make' : 'test-art-host-gtest', 227 'run-test' : [], 228 'env' : { 229 'ART_USE_GENERATIONAL_CC' : 'true' 230 } 231 }, 232 233 # ASAN (host) configurations. 234 235 # These configurations need detect_leaks=0 to work in non-setup environments like build bots, 236 # as our build tools leak. b/37751350 237 238 'art-gtest-asan': { 239 'make' : 'test-art-host-gtest', 240 'env': { 241 'SANITIZE_HOST' : 'address', 242 'ASAN_OPTIONS' : 'detect_leaks=0' 243 } 244 }, 245 'art-gtest-asan32': { 246 'make' : 'test-art-host-gtest32', 247 'env': { 248 'SANITIZE_HOST' : 'address', 249 'ASAN_OPTIONS' : 'detect_leaks=0' 250 } 251 }, 252 'art-gtest-asan64': { 253 'make' : 'test-art-host-gtest64', 254 'env': { 255 'SANITIZE_HOST' : 'address', 256 'ASAN_OPTIONS' : 'detect_leaks=0' 257 } 258 }, 259 'art-asan': { 260 'run-test' : ['--interpreter', 261 '--interp-ac', 262 '--optimizing', 263 '--jit', 264 '--speed-profile'], 265 'env': { 266 'SANITIZE_HOST' : 'address', 267 'ASAN_OPTIONS' : 'detect_leaks=0' 268 } 269 }, 270 'art-gtest-heap-poisoning': { 271 'make' : 'test-art-host-gtest', 272 'env' : { 273 'ART_HEAP_POISONING' : 'true', 274 'ART_USE_READ_BARRIER' : 'false', 275 'SANITIZE_HOST' : 'address', 276 'ASAN_OPTIONS' : 'detect_leaks=0' 277 } 278 }, 279 280 # ART Golem build targets used by go/lem (continuous ART benchmarking), 281 # (art-opt-cc is used by default since it mimics the default preopt config), 282 # 283 # calls golem/build-target.sh which builds a golem tarball of the target name, 284 # e.g. 'golem: android-armv7' produces an 'android-armv7.tar.gz' upon success. 285 286 'art-golem-android-armv7': { 287 'golem' : 'android-armv7' 288 }, 289 'art-golem-android-armv8': { 290 'golem' : 'android-armv8' 291 }, 292 'art-golem-linux-armv7': { 293 'golem' : 'linux-armv7' 294 }, 295 'art-golem-linux-armv8': { 296 'golem' : 'linux-armv8' 297 }, 298 'art-golem-linux-ia32': { 299 'golem' : 'linux-ia32' 300 }, 301 'art-golem-linux-x64': { 302 'golem' : 'linux-x64' 303 }, 304} 305