| target_config = { |
| |
| # Configuration syntax: |
| # |
| # Required keys: (Use one or more of these) |
| # * golem - specify a golem machine-type to build, e.g. android-armv8 |
| # (uses art/tools/golem/build-target.sh) |
| # * make - specify a make target to build, e.g. build-art-host |
| # * run-test - runs the tests in art/test/ directory with testrunner.py, |
| # specify a list of arguments to pass to testrunner.py |
| # |
| # Optional keys: (Use any of these) |
| # * env - Add additional environment variable to the current environment. |
| # |
| # *** IMPORTANT ***: |
| # This configuration is used by the android build server. Targets must not be renamed |
| # or removed. |
| # |
| |
| ########################################## |
| |
| # General ART configurations. |
| # Calls make and testrunner both. |
| |
| 'art-test' : { |
| 'make' : 'test-art-host-gtest', |
| 'run-test' : [] |
| }, |
| |
| 'art-test-javac' : { |
| 'run-test' : ['--jvm'] |
| }, |
| |
| # ART run-test configurations |
| # (calls testrunner which builds and then runs the test targets) |
| |
| 'art-ndebug' : { |
| 'run-test' : ['--ndebug'] |
| }, |
| 'art-interpreter' : { |
| 'run-test' : ['--interpreter'] |
| }, |
| 'art-interpreter-access-checks' : { |
| 'run-test' : ['--interp-ac'] |
| }, |
| 'art-jit' : { |
| 'run-test' : ['--jit', '--debuggable', '--ndebuggable'] |
| }, |
| 'art-jit-on-first-use' : { |
| 'run-test' : ['--jit', |
| '--runtime-option=-Xjitthreshold:0'] |
| }, |
| 'art-pictest' : { |
| 'run-test' : ['--pictest', |
| '--optimizing'] |
| }, |
| 'art-gcstress-gcverify': { |
| # Do not exercise '--interpreter', '--optimizing', nor '--jit' in this |
| # configuration, as they are covered by the 'art-interpreter-gcstress', |
| # 'art-optimizing-gcstress' and 'art-jit-gcstress' configurations below. |
| 'run-test': ['--interp-ac', |
| '--speed-profile', |
| '--gcstress', |
| '--gcverify'] |
| }, |
| # Rename this configuration as 'art-interpreter-gcstress-gcverify' (b/62611253). |
| 'art-interpreter-gcstress' : { |
| 'run-test' : ['--interpreter', |
| '--gcstress', |
| '--gcverify'] |
| }, |
| # Rename this configuration as 'art-optimizing-gcstress-gcverify' (b/62611253). |
| 'art-optimizing-gcstress' : { |
| 'run-test' : ['--optimizing', |
| '--gcstress', |
| '--gcverify'] |
| }, |
| # Rename this configuration as 'art-jit-gcstress-gcverify' (b/62611253). |
| 'art-jit-gcstress' : { |
| 'run-test' : ['--jit', |
| '--gcstress', |
| '--gcverify'] |
| }, |
| 'art-jit-on-first-use-gcstress' : { |
| 'run-test' : ['--jit', |
| '--gcstress', |
| '--runtime-option=-Xjitthreshold:0'] |
| }, |
| # TODO: Rename or repurpose this configuration as |
| # 'art-read-barrier-heap-poisoning' (b/62611253). |
| 'art-read-barrier' : { |
| 'run-test': ['--interpreter', |
| '--optimizing'], |
| 'env' : { |
| 'ART_HEAP_POISONING' : 'true' |
| } |
| }, |
| # TODO: Remove or disable this configuration, as it is now covered |
| # by 'art-interpreter-gcstress' and 'art-optimizing-gcstress' -- |
| # except for heap poisoning, but that's fine (b/62611253). |
| 'art-read-barrier-gcstress' : { |
| 'run-test' : ['--interpreter', |
| '--optimizing', |
| '--gcstress'], |
| 'env' : { |
| 'ART_HEAP_POISONING' : 'true' |
| } |
| }, |
| 'art-read-barrier-table-lookup' : { |
| 'run-test' : ['--interpreter', |
| '--optimizing'], |
| 'env' : { |
| 'ART_READ_BARRIER_TYPE' : 'TABLELOOKUP', |
| 'ART_HEAP_POISONING' : 'true' |
| } |
| }, |
| 'art-debug-gc' : { |
| 'run-test' : ['--interpreter', |
| '--optimizing'], |
| 'env' : { |
| 'ART_TEST_DEBUG_GC' : 'true', |
| 'ART_USE_READ_BARRIER' : 'false' |
| } |
| }, |
| 'art-ss-gc' : { |
| 'run-test' : ['--interpreter', |
| '--optimizing', |
| '--jit'], |
| 'env' : { |
| 'ART_DEFAULT_GC_TYPE' : 'SS', |
| 'ART_USE_READ_BARRIER' : 'false' |
| } |
| }, |
| 'art-gss-gc' : { |
| 'run-test' : ['--interpreter', |
| '--optimizing', |
| '--jit'], |
| 'env' : { |
| 'ART_DEFAULT_GC_TYPE' : 'GSS', |
| 'ART_USE_READ_BARRIER' : 'false' |
| } |
| }, |
| 'art-ss-gc-tlab' : { |
| 'run-test' : ['--interpreter', |
| '--optimizing', |
| '--jit'], |
| 'env' : { |
| 'ART_DEFAULT_GC_TYPE' : 'SS', |
| 'ART_USE_TLAB' : 'true', |
| 'ART_USE_READ_BARRIER' : 'false' |
| } |
| }, |
| 'art-gss-gc-tlab' : { |
| 'run-test' : ['--interpreter', |
| '--optimizing', |
| '--jit'], |
| 'env' : { |
| 'ART_DEFAULT_GC_TYPE' : 'GSS', |
| 'ART_USE_TLAB' : 'true', |
| 'ART_USE_READ_BARRIER' : 'false' |
| } |
| }, |
| 'art-tracing' : { |
| 'run-test' : ['--trace'] |
| }, |
| 'art-interpreter-tracing' : { |
| 'run-test' : ['--interpreter', |
| '--trace'] |
| }, |
| 'art-forcecopy' : { |
| 'run-test' : ['--forcecopy'] |
| }, |
| 'art-no-prebuild' : { |
| 'run-test' : ['--no-prebuild'] |
| }, |
| 'art-no-image' : { |
| 'run-test' : ['--no-image'] |
| }, |
| 'art-interpreter-no-image' : { |
| 'run-test' : ['--interpreter', |
| '--no-image'] |
| }, |
| 'art-relocate-no-patchoat' : { |
| 'run-test' : ['--relocate-npatchoat'] |
| }, |
| 'art-no-dex2oat' : { |
| # Deprecated configuration. |
| }, |
| 'art-heap-poisoning' : { |
| 'run-test' : ['--interpreter', |
| '--optimizing', |
| '--cdex-none'], |
| 'env' : { |
| 'ART_USE_READ_BARRIER' : 'false', |
| 'ART_HEAP_POISONING' : 'true', |
| # Disable compact dex to get coverage of standard dex file usage. |
| 'ART_DEFAULT_COMPACT_DEX_LEVEL' : 'none' |
| } |
| }, |
| 'art-preopt' : { |
| # This test configuration is intended to be representative of the case |
| # of preopted apps, which are precompiled compiled pic against an |
| # unrelocated image, then used with a relocated image. |
| 'run-test' : ['--pictest', |
| '--prebuild', |
| '--relocate', |
| '--jit'] |
| }, |
| |
| # ART gtest configurations |
| # (calls make 'target' which builds and then runs the gtests). |
| |
| 'art-gtest' : { |
| 'make' : 'test-art-host-gtest' |
| }, |
| 'art-gtest-read-barrier': { |
| 'make' : 'test-art-host-gtest', |
| 'env' : { |
| 'ART_HEAP_POISONING' : 'true' |
| } |
| }, |
| 'art-gtest-read-barrier-table-lookup': { |
| 'make' : 'test-art-host-gtest', |
| 'env': { |
| 'ART_READ_BARRIER_TYPE' : 'TABLELOOKUP', |
| 'ART_HEAP_POISONING' : 'true' |
| } |
| }, |
| 'art-gtest-ss-gc': { |
| 'make' : 'test-art-host-gtest', |
| 'env': { |
| 'ART_DEFAULT_GC_TYPE' : 'SS', |
| 'ART_USE_READ_BARRIER' : 'false', |
| # Disable compact dex to get coverage of standard dex file usage. |
| 'ART_DEFAULT_COMPACT_DEX_LEVEL' : 'none' |
| } |
| }, |
| 'art-gtest-gss-gc': { |
| 'make' : 'test-art-host-gtest', |
| 'env' : { |
| 'ART_DEFAULT_GC_TYPE' : 'GSS', |
| 'ART_USE_READ_BARRIER' : 'false' |
| } |
| }, |
| 'art-gtest-ss-gc-tlab': { |
| 'make' : 'test-art-host-gtest', |
| 'env': { |
| 'ART_DEFAULT_GC_TYPE' : 'SS', |
| 'ART_USE_TLAB' : 'true', |
| 'ART_USE_READ_BARRIER' : 'false', |
| } |
| }, |
| 'art-gtest-gss-gc-tlab': { |
| 'make' : 'test-art-host-gtest', |
| 'env': { |
| 'ART_DEFAULT_GC_TYPE' : 'GSS', |
| 'ART_USE_TLAB' : 'true', |
| 'ART_USE_READ_BARRIER' : 'false' |
| } |
| }, |
| 'art-gtest-debug-gc' : { |
| 'make' : 'test-art-host-gtest', |
| 'env' : { |
| 'ART_TEST_DEBUG_GC' : 'true', |
| 'ART_USE_READ_BARRIER' : 'false' |
| } |
| }, |
| 'art-generational-cc': { |
| 'make' : 'test-art-host-gtest', |
| 'run-test' : [], |
| 'env' : { |
| 'ART_USE_GENERATIONAL_CC' : 'true' |
| } |
| }, |
| |
| # ASAN (host) configurations. |
| |
| # These configurations need detect_leaks=0 to work in non-setup environments like build bots, |
| # as our build tools leak. b/37751350 |
| |
| 'art-gtest-asan': { |
| 'make' : 'test-art-host-gtest', |
| 'env': { |
| 'SANITIZE_HOST' : 'address', |
| 'ASAN_OPTIONS' : 'detect_leaks=0' |
| } |
| }, |
| 'art-asan': { |
| 'run-test' : ['--interpreter', |
| '--interp-ac', |
| '--optimizing', |
| '--jit', |
| '--speed-profile'], |
| 'env': { |
| 'SANITIZE_HOST' : 'address', |
| 'ASAN_OPTIONS' : 'detect_leaks=0' |
| } |
| }, |
| 'art-gtest-heap-poisoning': { |
| 'make' : 'test-art-host-gtest', |
| 'env' : { |
| 'ART_HEAP_POISONING' : 'true', |
| 'ART_USE_READ_BARRIER' : 'false', |
| 'SANITIZE_HOST' : 'address', |
| 'ASAN_OPTIONS' : 'detect_leaks=0' |
| } |
| }, |
| |
| # ART Golem build targets used by go/lem (continuous ART benchmarking), |
| # (art-opt-cc is used by default since it mimics the default preopt config), |
| # |
| # calls golem/build-target.sh which builds a golem tarball of the target name, |
| # e.g. 'golem: android-armv7' produces an 'android-armv7.tar.gz' upon success. |
| |
| 'art-golem-android-armv7': { |
| 'golem' : 'android-armv7' |
| }, |
| 'art-golem-android-armv8': { |
| 'golem' : 'android-armv8' |
| }, |
| 'art-golem-linux-armv7': { |
| 'golem' : 'linux-armv7' |
| }, |
| 'art-golem-linux-armv8': { |
| 'golem' : 'linux-armv8' |
| }, |
| 'art-golem-linux-ia32': { |
| 'golem' : 'linux-ia32' |
| }, |
| 'art-golem-linux-x64': { |
| 'golem' : 'linux-x64' |
| }, |
| } |