blob: 84490bf0e4a6836421cd24609707896a19ce623c [file] [log] [blame]
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'
},
}