History log of /art/test/Android.run-test.mk
Revision Date Author Comments
0ccd1e2025bec1104373f0a84804a63d5acf0e13 13-Apr-2017 Andreas Gampe <agampe@google.com> ART: Fix test dependencies

Follow-up to commit 8f2c6d479aeda3165c4f54c1076ec7ac335fccc7.

Test: m test-art-host
Change-Id: I67bf92067509ddf658fc22e333430fa5ee44f6ea
8f2c6d479aeda3165c4f54c1076ec7ac335fccc7 11-Apr-2017 Alex Light <allight@google.com> run-tests with jvmti-stress configuration

Adds a jvmti-stress mode to our run-tests. This mode runs our test
suite with every class-load being intercepted and undergoing
redefinition.

Test: DEXTER_BINARY="/path/to/built/dexter" \
./testrunner/testrunner.py --host --jvmti-stress -j40

Change-Id: I898e5cffea42a203aa4c45981b48baf8dc64fbb6
afbb770eb5de63b812c9467d36a6462c1b95c7cd 12-Apr-2017 Colin Cross <ccross@android.com> Remove obsolete rules to build runtests

Runtests are built by testrunner.py, remove the rule that builds
them as part of checkbuild. This removes the only rule that
causes Jack to run when ANDROID_COMPILE_WITH_JACK=false.

Test: m -j ANDROID_COMPILE_WITH_JACK=false tests checkbuild
Change-Id: Ib0aa48836fbca9056e9dca3500b0d4dae29977aa
7d177b424d5783407d54375980268f72303d534f 11-Apr-2017 Colin Cross <ccross@android.com> Don't add Jack dependencies when building without Jack

Runtests add dependencies on the core library classes.jack files,
which don't exist when compiling with javac. Disable the dependencies
when building without Jack for now.

Bug: 36902714
Test: m -j ANDROID_COMPILE_WITH_JACK=false tests
Change-Id: I40925c8c8536cc048e7308e6202db420154a18aa
(cherry picked from commit b6f707cb725db79bdcd6a1d160f11d2be60f9bf0)
b6f707cb725db79bdcd6a1d160f11d2be60f9bf0 11-Apr-2017 Colin Cross <ccross@android.com> Don't add Jack dependencies when building without Jack

Runtests add dependencies on the core library classes.jack files,
which don't exist when compiling with javac. Disable the dependencies
when building without Jack for now.

Test: m -j ANDROID_COMPILE_WITH_JACK=false tests
Change-Id: I40925c8c8536cc048e7308e6202db420154a18aa
6a8a4dd05a15f1137a3633610c1a653f3765b06f 28-Mar-2017 Jeff Hao <jeffhao@google.com> Incorporate random profile tests into run-test.

Uses profman to generate random profiles to pass into run-test.
Adds a new COMPILER_TYPE "speed-profile" to the build.

Bug: 36107940
Test: mm test-art-host

(cherry-picked from 002b9314d0e432ecc85e43d8fe800e375a33cebb)

Change-Id: Ie123c1abb6b24e57f4c00912ea58158fe167ed01
002b9314d0e432ecc85e43d8fe800e375a33cebb 28-Mar-2017 Jeff Hao <jeffhao@google.com> Incorporate random profile tests into run-test.

Uses profman to generate random profiles to pass into run-test.
Adds a new COMPILER_TYPE "speed-profile" to the build.

Bug: 36107940
Test: mm test-art-host
Change-Id: I00463f59ccbd9ffa4ddff097314374aede0d47c7
a6fbe3994e3b39349011aa75ea6b14bd21f79518 25-Mar-2017 Nicolas Geoffray <ngeoffray@google.com> Makefile cleanup/fix after refactoring.

1) Put hprof-conf in ART_TEST_HOST_RUN_TEST_DEPENDENCIES
2) Remove duplicated code.

Change-Id: I11d141a13e94292f5a2bfefe1016be39aaece019
75f37d639b39269136892c9634f334a96ad893db 24-Mar-2017 Alex Light <allight@google.com> Fix issue with Android.run-test.mk

We were clearing 2 makefile variables that was needed for our
buildbots to run correctly.

Test: m clean && ./test.py --target -j8
Test: m clean && ./test.py --host -j40
Change-Id: Ic15ccf6701bf12b7ee5aeddf940e0c343677c8b0
4a5a162abe6b1bdda501726f0bc50e917cd20a56 22-Mar-2017 Shubham Ajmera <shubhamajmera@google.com> Remove test logic from Android.run-test.mk

As python testrunner replaces it.

This change removes the following targets:
test-art-host-run-test-[variant]

The following targets are still supported:
test-art-host-run-test
test-art-target-run-test
test-art-run-test

Each of the above targets invoke the new testrunner.
They don't pass any concurrency value to the testrunner
and the testrunner itself decides the concurrency
depending upon the type of tests.

Test: make -j test-art-host-run-test
make -j test-art-target-run-test
make -j test-art-run-test
./art/test/testrunner/testrunner.py --host
./art/test/testrunner/testrunner.py --target

Change-Id: I64a87d0f2e62c29b4d9c14527f9a83810ae7edc7
a8e46e694e9d5b422d34d4826d4bba1596f75fee 21-Mar-2017 Nicolas Geoffray <ngeoffray@google.com> Some more blacklisting.

bug:36467228
bug:36365552
Change-Id: Ic7c21dc229b55a8ef3f8aec99e835ebb1e9ca312
39f224a86ccdf7cb436dec927d61937727f5569f 20-Mar-2017 Calin Juravle <calin@google.com> Disable the use of inline caches in AOT mode

Until we figure out why we see the crashes in b/36371709.

Test: m test-art-host
Bug: 36371709
Change-Id: If47f917373d26825f0b8121bb8b5e0b77ff83c01
(cherry picked from commit e2492d43bfff9123de843fd3e424da438e33d793)
e2492d43bfff9123de843fd3e424da438e33d793 20-Mar-2017 Calin Juravle <calin@google.com> Disable the use of inline caches in AOT mode

Until we figure out why we see the crashes in b/36371709.

Test: m test-art-host
Bug: 36371709
Change-Id: If47f917373d26825f0b8121bb8b5e0b77ff83c01
36dac9c57e018c335d15150576196a26e8e2c879 18-Mar-2017 Nicolas Geoffray <ngeoffray@google.com> More blacklisting.

bug: 36377828
Change-Id: I364fc321ac9c02ce6038e5e105d596f889aeb34a
b8cd64b9376dea62ce92c80668b27ea7aed50c39 17-Mar-2017 Nicolas Geoffray <ngeoffray@google.com> Blacklist two tests due to timeout.

bug: 36377828
Test: test-art-host testrunner.py
Change-Id: Ibe5e4cc6d9bf027cba4de6f545d5b16ed925f7c9
4f2e957b07c8b6e48bbd7593bb64f3c5214fa489 16-Mar-2017 Alex Light <allight@google.com> Ensure the GC visits Obsolete Methods

We were previously not visiting obsolete methods during GCs. This
could lead to the use of stale pointers.

Bug: 36335999
Test: ./test/testrunner/testrunner.py --host --interp-ac --gcstress -j40

Change-Id: I2b5c7c75b29f9037204a860501fcdb78104b5e7a
4f38e1805fb906c42697c30685008d00261e11b9 16-Mar-2017 Nicolas Geoffray <ngeoffray@google.com> Blacklist more tests.

bug:36365552
bug:36344364
bug:36344221
Change-Id: I1f957df8a84dec5665f526e0605d98e5f6d37b17
31c88580deb129f99f6b9835c6e21cb86a875f88 16-Mar-2017 Nicolas Geoffray <ngeoffray@google.com> Blacklist failing tests, and rename one.

To go back to green after configuration changes.

bug: 36344364
bug: 36344221
bug: 36335999
Change-Id: Ibf1a7606d895aad9567d7f5109f6f3761b1e4efe
c90466d08325f1bd3c2b26db8f5178df5766a5a1 08-Mar-2017 Nicolas Geoffray <ngeoffray@google.com> Forgot this line for blacklisting.

Test: test-art-host
Change-Id: I97d330b1898561c69d7cd02c64ea574f5dcaeffa
77e36944d0627ffa5596d2f7d1cba780d43c5b47 08-Mar-2017 Nicolas Geoffray <ngeoffray@google.com> Blacklist test for NON_BAKER_READ_BARRIER.

Test: test-art-host
Change-Id: Ia1e82d8a951ab44e47c20345bf08f241893894d0
77651c4bbd56d502bcf05347e641061bbebca099 04-Mar-2017 Calin Juravle <calin@google.com> ART: Clean up code related to foreign dex use

We simplified the way we track whether or not a dex file is used by
other apps. DexManager in the framework keeps track of the data and we
no longer need file markers on disk.

Test: device boots, foreign dex markers are not created anymore

Bug: 32871170

(cherry picked from commit 868515e2606820ea96f8b9022b442f5bcc770867)

Change-Id: If51b3301c845a8c3bbaf87d0e35a12c700e1d0aa
Merged-In: I5a04d3bba29581dedf05e21b8b20d79afa9b405a
868515e2606820ea96f8b9022b442f5bcc770867 04-Mar-2017 Calin Juravle <calin@google.com> ART: Clean up code related to foreign dex use

We simplified the way we track whether or not a dex file is used by
other apps. DexManager in the framework keeps track of the data and we
no longer need file markers on disk.

Test: device boots, foreign dex markers are not created anymore

Bug: 32871170
Change-Id: I5a04d3bba29581dedf05e21b8b20d79afa9b405a
673665b8d57a3e4f7b81606dbacb2039b2b00407 06-Mar-2017 Mathieu Chartier <mathieuc@google.com> Disable test 154 for JIT

The compiler may cause too many GCs to occur.

Bug: 35917229

Test: test-art-host ART_TEST_JIT
Test: test/testrunner/testrunner.py --host --jit

Change-Id: I1c1fbd01e815b1f9117b45ab9a419c5824c17dad
571ca6eee0e627c90f00b500d0871c05f7f4fe7d 06-Mar-2017 Nicolas Geoffray <ngeoffray@google.com> Disable 115-native-bridge in Makefile.

bug:35984597
Change-Id: I26fc9db839ae5229c7f2d82603e1172bddd07470
320ccca3d1587c37731b551668f9d86c3b0a0316 01-Mar-2017 Nicolas Geoffray <ngeoffray@google.com> Update run-tests script/dependencies to use -testdex jars.

run-tests run with --no-image need the dex files in the
bootclasspath to be available. The -testdex jars are guaranteed
unstripped, so use them instead.

This was always broken, but vmarko@ just added a test that
forces --no-image.

bug:24535627
Test: test-art-target

Change-Id: I391573cffd0749d814fd81517e99dfc8f0fd59d5
55918190786972f609b64fae6f41d5c5d610bf09 28-Feb-2017 Mathieu Chartier <mathieuc@google.com> Disable test 152 for gcstress

Bug: 35800768

Test: test-art-host-run-test ART_TEST_GC_STRESS=true

Change-Id: I6f5cdbb445b9cad6f57ffa5738c8c9e8ec3b9c98
bb00f8164845cea70921cdf4817646fc3156f62b 16-Feb-2017 Richard Uhler <ruhler@google.com> Remove testing of prebuilt npic boot images.

Because we always compile prebuilt images pic.

Test: test-art-host, test-art-target.
Bug: 33192586
Change-Id: I7cd3d3bb7b6cfbf79c2e442f3793a4967f37d84c
07a8c70a92ecdc0b7a946a88e8d764557862b768 16-Feb-2017 Shubham Ajmera <shubhamajmera@google.com> Fix image dependencies for test-art-host-run-test-dependencies

when ART_TEST_INTERPRETER and other flags are not set.

Test: manual
Change-Id: Ia49e41444aab068642d2ea63e98c970206be19e0
e2744c615e5808d335eed512349d67d724773c1f 08-Feb-2017 Andreas Gampe <agampe@google.com> Revert "Revert "ART: Add JIT + events test to run-test 912""

This reverts commit f833c5c551ec87f8d240b97142fd27b689613ccf.

Add NoSuchElementException to preparation.

Bug: 31684920
Test: m ART_TEST_JIT=true test-art-host-run-test-912-classes
Change-Id: Ied7c273194e77236e1df67a92c4a0086abcbcd46
0cdcf814e55d9f74223b886c841271c1e7493b40 08-Feb-2017 Alex Light <allight@google.com> Un-disable redefinition tests on JIT.

We no longer have any problems with racing JIT threads.

Test: ART_TEST_JIT=true mma -j40 test-art-host
Test: ./test/testrunner/testrunner.py --host --jit -j40
Change-Id: Ie88d0a891fbdd906641c0f7561406390db208b09
f833c5c551ec87f8d240b97142fd27b689613ccf 08-Feb-2017 Nicolas Geoffray <ngeoffray@google.com> Revert "ART: Add JIT + events test to run-test 912"

Still flakey
Bug: 31684920

This reverts commit 55e09d45d6ddedc88e50fbf290efbd39cae8380f.

Change-Id: I1a9dc303a1f9c4520e15edf584d24cb8e6bc4169
55e09d45d6ddedc88e50fbf290efbd39cae8380f 25-Jan-2017 Andreas Gampe <agampe@google.com> ART: Add JIT + events test to run-test 912

Add a test for loading by the JIT thread.

This reverts commit fab0b1947db6812c91827d051f6fe5b21ccb494c.

Bug: 31684920
Test: m ART_TEST_JIT=true test-art-host-run-test-912-classes
Change-Id: I577cc3269ed437b605b4ebf6bac7262e0459af76
65adb8b268ecbe9e2d960cf567c716b5ed1c7dd7 06-Feb-2017 Shubham Ajmera <shubhamajmera@google.com> ART Test Runner

The testrunner runs the ART run-tests by simply invoking the script.
It fetches the list of eligible tests from art/test directory, and list of
disabled tests from art/test/knownfailures.json. It runs the tests by
invoking art/test/run-test script and checks the exit code to decide if
the test passed or failed.

Before invoking the script, first build all the tests dependencies by
building 'test-art-host-run-test-dependencies' for host tests,
'test-art-target-run-test-dependencies' for target tests, and
'test-art-run-test-dependencies' for building dependencies for both.
There are various options to invoke the script which are:
-t: Either the test name as in art/test or the test name including the variant
information. Eg, "-t 001-HelloWorld",
"-t test-art-host-run-test-debug-prebuild-optimizing-relocate-ntrace-cms-checkjni-picimage-npictest-ndebuggable-001-HelloWorld32"
-j: Number of thread workers to be used. Eg - "-j64"
--dry-run: Instead of running the test name, just print its name.
--verbose
-b To build the dependencies before running the test.

To specify any specific variants for the test, use --<<variant-name>>.
For eg, for compiler type as optimizing, use --optimizing.

In the end, the script will print the failed and skipped tests if any.

New targets - test-art-host-run-test-dependencies and
test-art-target-run-test-dependencies have been added. The targets build
dependencies for host and target respectively.

Test: No tests
Change-Id: Ia4f13ee3444c2c733342c046ef1582517459fc9b
6f3d590250dc4e6444ca550015a80ad06cf42e36 06-Feb-2017 Shubham Ajmera <shubhamajmera@google.com> Revert "ART Test Runner"

This reverts commit b5a77b91f3b52ff7de5bb3be2fb8c420f6968cb6.

Change-Id: Idcdfe5157624ebfe29a0f9079265368ea184d0f9
b5a77b91f3b52ff7de5bb3be2fb8c420f6968cb6 07-Dec-2016 Shubham Ajmera <shubhamajmera@google.com> ART Test Runner

The testrunner runs the ART run-tests by simply invoking the script.
It fetches the list of eligible tests from art/test directory, and list of
disabled tests from art/test/knownfailures.json. It runs the tests by
invoking art/test/run-test script and parses it output to check if the test
passed or failed.

Before invoking the script, first build all the tests dependencies by
building 'test-art-host-run-test-dependencies' for host tests,
'test-art-target-run-test-dependencies' for target tests, and
'test-art-run-test-dependencies' for building dependencies for both.
There are various options to invoke the script which are:
-t: Either the test name as in art/test or the test name including the variant
information. Eg, "-t 001-HelloWorld",
"-t test-art-host-run-test-debug-prebuild-optimizing-relocate-ntrace-cms-checkjni-picimage-npictest-ndebuggable-001-HelloWorld32"
-j: Number of thread workers to be used. Eg - "-j64"
--dry-run: Instead of running the test name, just print its name.
--verbose
-b To build the dependencies before running the test.

To specify any specific variants for the test, use --<<variant-name>>.
For eg, for compiler type as optimizing, use --optimizing.

In the end, the script will print the failed and skipped tests if any.

Changes in the Android.run-test.mk

1) Test targets like
"test-art-host-run-test-debug-prebuild-jit-relocate-ntrace-cms-checkjni-picimage-npictest-ndebuggable-055-enum-performance64"
2) New targets - test-art-host-run-test-dependencies and
test-art-target-run-test-dependencies have been added. The targets build
dependencies for host and target respectively.
3) Old targets like test-art-host-run-test-optimizing, test-art-host-run-test
build the dependencies using the above targets and then invokes the testrunner
to run the tests.

Test: No tests
Change-Id: I1823aa1cbfe3637a3c6ae8eb5843709fa77cee09
81c74c160abe4e5ef414893b953ac074735323cb 02-Feb-2017 Nicolas Geoffray <ngeoffray@google.com> Blacklist another 96* test for no-image.

Test: test-art-host

Change-Id: I16e3a0a17ca6193a68932c78f67e0d788684e7ef
433b79a9130df5f2375b9d3d7518c1f3fb84a467 30-Jan-2017 Nicolas Geoffray <ngeoffray@google.com> Revert "Revert "Make --debuggable rely on JIT code.""

Fixed by https://android-review.googlesource.com/#/c/330165/

This reverts commit 81356645157af44152c7b7db383596b5cf3479b5.

Change-Id: Ifb74e1cc90ab6dea621f7f54a00b540d6ccd0cf6
81356645157af44152c7b7db383596b5cf3479b5 30-Jan-2017 Vladimir Marko <vmarko@google.com> Revert "Make --debuggable rely on JIT code."

Breaks 137-cfi with ART_TEST_RUN_TEST_DEBUGGABLE=true

This reverts commit a0619e25aacf8b8074132f4951f75fdbcfd42925.

bug: 28769520
Change-Id: Ifd7b8fc7c9b72c0a523fd57c4b1b80edd3547caa
fd15f77168c231f9d0089ce1c982657accb74b43 30-Jan-2017 Nicolas Geoffray <ngeoffray@google.com> Blacklist test now that debuggable means JIT.

Change-Id: I658dea8e2b7327ad9631edfe62b45a0c7fcfc845
a0619e25aacf8b8074132f4951f75fdbcfd42925 20-Dec-2016 Nicolas Geoffray <ngeoffray@google.com> Make --debuggable rely on JIT code.

Removes -Xfully-deoptable in the process, which was added as a
temporary workaround until this CL.
Partial revert of https://android-review.googlesource.com/#/c/302232/

Makes things consistent with existing infrastructure:

- Parse the --debuggable from the compiler options, just like
--compiler-filter.

- Add DEBUG_JAVA_DEBUGGABLE, passed by the zygote, for debuggable apps.

- Java debuggable now solely relies on JIT for simplicity.

- Debugging under userdebug for non-java-debuggable apps is still
best effort.

Test: test-art-host, jdwp

bug: 28769520
Change-Id: Id0593aacd85b9780da97f20914a50943957c858f
ad93db3171b9d5ab26488adeb2734269169ae4c2 30-Jan-2017 Nicolas Geoffray <ngeoffray@google.com> Add ART_TEST_RUN_TEST_IMAGE.

To prepare disabling this run on the no-image bot config.

Change-Id: Iebd51761ebde42d07beb7ecce3b84e738d03afe3
eb98b08b22b83aaaf72afac8e22f0108fe62310d 25-Jan-2017 Alex Light <allight@google.com> Ensure ClassPreDefine returned dex file is on the Classpath

Test: mma -j40 test-art-host
Change-Id: Icf70a78f3a1149d0e5bf9aa64f74f2ca8d025802
94e25db37ea9e8e2ccaeeb78ba2c01238fd9f6e3 27-Jan-2017 Nicolas Geoffray <ngeoffray@google.com> Make no-relocate the default.

With the move to not support relocatable oat files, testing "relocate"
does not make sense anymore (the runtime would just discard the prebuild
oat file and generate a new one in dalvik-cache).

Just make no-relocate the default for now. We can remove relocation types
once Richard is done removing relocation.

Test: test-art-host test-art-target
bug:33192586

Change-Id: If39a0ad63451c68d4cfbbb26b767ad98b97d208e
e40dd38c6ccd3c55138ed6ef216dec261150fd5e 26-Jan-2017 Alex Light <allight@google.com> Re-enable tests 934 & 935

There were two issues causing problems with these tests.

1) The loading of classes could occur prior to the transformer being
enabled. This was fixed by putting the classes under test into a
different ClassLoader and disabling app-images.

2) DexToDex compilation was devirtualizing some calls meaning that
reordering the methods was causing incorrect dispatch.

This reverts commit 50cc0cceb5ca0abd4fff2cb3467ea74e7590cb10.
This reverts commit e9f36b7cb42348ef5c4eb3c88bd3cfdd56390a3e.
This reverts commit 1e7e96e4a66f668255a1683b837863228489faf9.

Test: ART_TEST_INTERPRETER=true \
ART_TEST_JIT=true \
mma -j40 test-art-host

Test: ART_TEST_INTERPRETER_ACCESS_CHECKS=true \
ART_TEST_RUN_TEST_NO_DEX2OAT=true \
ART_TEST_RUN_TEST_RELOCATE_NO_PATCHOAT=true \
ART_TEST_RUN_TEST_NO_RELOCATE=true \
mma -j40 test-art-host-run-test-934-load-transform \
test-art-host-run-test-935-non-retransformable

Change-Id: Ia600ba37d45a5f9489b03c7f4d143849c887b8a7
e9f36b7cb42348ef5c4eb3c88bd3cfdd56390a3e 26-Jan-2017 Nicolas Geoffray <ngeoffray@google.com> Also blacklist 934 and 935 for no-relocate.

test: test-art-host
Change-Id: I0e88ffffa25b5174eecfc4e0bfebf43811d33959
1e7e96e4a66f668255a1683b837863228489faf9 26-Jan-2017 Alex Light <allight@google.com> Temporarily disable tests 934 & 935 in fallback and interp_ac config

These should have been with the earlier disable but I missed them.

Test: build change
Change-Id: I491f14d5666fff30dbadcf9105a96748a4aaaf5e
50cc0cceb5ca0abd4fff2cb3467ea74e7590cb10 25-Jan-2017 Alex Light <allight@google.com> Temporarily disable tests 934 & 935 for interpreter and jit.

These need some additional support from the ClassPreDefine event which
will be added shortly.

Test: mma -j40 test-art-host ART_TEST_INTERPRETER=true ART_TEST_JIT=true
Change-Id: Id60da22d96a9f6c9084fdf6bf810874284d5d2a8
a7e0b57e8637ff0f5c37629a051745bb5979678c 24-Jan-2017 Mathieu Chartier <mathieuc@google.com> Disable test 154 for GC stress

GC stress does too many GCs and may cause the test to fail.

Test: test-art-host -j32 ART_TEST_GC_STRESS=true ART_TEST_INTERPRETER=tru

Change-Id: I7a46d185b718a3faaa74dbc561506e4844b79032
fab0b1947db6812c91827d051f6fe5b21ccb494c 24-Jan-2017 Nicolas Geoffray <ngeoffray@google.com> Disable 912 for JIT.

bug: 34655682
test: test-art-host
Change-Id: I80e51d2866dfb47fc725877356168d2c27255bf5
9623ca6e05e14054d85ce73dfd7d6ed43555b84e 21-Jan-2017 Andreas Gampe <agampe@google.com> ART: Re-enable TI tests for target

Fix invalid null handle for dlsym on arm32. Fix missing cast in
dispatch.

Remove the test black-list.

Bug: 31681198
Test: m test-art-target-run-test (bullhead)
Change-Id: I3edc68421933330b4361fb9e49d4e5ff4966a4ff
a7e38d8aaacfca85b40b5df654f85c0979968672 19-Jan-2017 Alex Light <allight@google.com> Use original dex file for retransformation.

The spec requires us to pass the dex file as it appeared before any
retransformation-capable agents had modified it to the
ClassFileLoadHooks when RetransformClasses is called. We do this by
saving the initial dex file bytes into the class as a byte[].

Bug: 32369916
Test: mma -j40 test-art-host

Change-Id: Ic6af3738cd2a831e91ba1144f502fa58b3c333e4
732b0aca4fb8e5ffbd518ca913cb82810b6b2061 19-Jan-2017 Andreas Gampe <agampe@google.com> ART: Add Agent Thread API

Add support for RunAgentThread. Add test.

Bug: 31684593
Test: m test-art-host-run-test-931-agent-thread
Change-Id: I5deb213fb06eedc5ee78a340458cf0dff615d0ac
6ac5750807e0df930bb3791a9d5a8d8d5b5c45c4 20-Jan-2017 Alex Light <allight@google.com> Revert "Revert "Implement RetransformClasses""

This reverts commit 52a2db50b76f2b981d21d5508c3d9e8ab4c5fe93.

Reason for revert: Issue with RedefineClasses was resolved.

Test: ART_TEST_JNI_FORCECOPY=true mma -j40 test-art-host

Change-Id: I06f198df4fb40c48647b358d241710329e0812e9
52a2db50b76f2b981d21d5508c3d9e8ab4c5fe93 20-Jan-2017 Alex Light <allight@google.com> Revert "Implement RetransformClasses"

This reverts commit a6c5e97a4395352bc8684e6af9cecb62b80c316c.

Reason for revert: Accidently introduces double-free bug in RedefineClasses.

Change-Id: I021336c4fcf0cfb304915b0ffc5eaba5f91fdd5e
a6c5e97a4395352bc8684e6af9cecb62b80c316c 13-Jan-2017 Alex Light <allight@google.com> Implement RetransformClasses

This CL implements basic support for the RetransformClasses function
and callbacks of the ClassFileLoadHook.

We do not yet support calling the ClassFileLoadHook events on first
load of class.

Bug: 32369913
Bug: 31684920

Test: mma -j40 test-art-host

Change-Id: I7959474f03f9903cc6f10ae3c06d9fd531ec7957
1a87b3b32efb6899681a4aee6632fe9d5e2c2dc4 18-Jan-2017 Andreas Gampe <agampe@google.com> ART: Disable test 901 on target

As this is now doing slightly more work, disable like the other
tests.

Bug: 31681198
Test: m test-art-target
Change-Id: I73c9f2da1024f8eabc67aba12659d34878cec1f1
6f8e4f0fc378b49b8203db9a64777be3c773556a 17-Jan-2017 Andreas Gampe <agampe@google.com> ART: Add JNI API

Add support for GetJNIFunctionTable and SetJNIFunctionTable. Add
tests.

Bug: 34343708
Test: m test-art-host-run-test-928-jni-table
Change-Id: Ib9fafbac2781c570aa6eacf5242afbbf6c3ee7a9
4638106aa6978935355cea4c6eb9d54bb190d437 18-Jan-2017 Nicolas Geoffray <ngeoffray@google.com> Blacklist tests for flaky no-image.

bug: 34369284
Change-Id: I09db432db8d99223f4f41e2d7bda7927ad5af9d5
ce7732bcb504fc91ed201d8e2128e30d51ee9bdb 18-Jan-2017 Andreas Gampe <agampe@google.com> ART: Add Search API

Add initial support for AddToBootstrapClassLoaderSearch and
AddToSystemClassLoaderSearch. The current implementation does
not support the OnLoad phase.

Add tests.

Bug: 34359699
Test: m test-art-host-run-test-929-search
Change-Id: I42955ff381cd3828bfd772bee2f9b0745195ee51
d18d9e2a94445d4b42e4bc6f0e642e6f76b4706d 16-Jan-2017 Andreas Gampe <agampe@google.com> Revert "Revert "ART: Add ThreadGroup API support""

This reverts commit 87071bfb6c1b708bdfa2a5f91d4744667b3a0443.

Add an ObjectLock, which corresponds to the synchronized(this)
implementation on the Java side. Wait for the expected five
child threads in the root group before running the actual
child test.

Bug: 31455788
Change-Id: Ib7a065d6a11f06f0325e3a8db040629f3ca69407
Test: m test-art-host-run-test-925-threadgroups
35bcf817cb2dd9b641080e23b0fbb08870a45cbf 14-Jan-2017 Andreas Gampe <agampe@google.com> ART: Add three Timer functions

Add support for GetAvailableProcessors, GetTimerInfo and GetTime.
Add tests.

Bug: 31455788
Test: m test-art-host-run-test-926-timers
Change-Id: I9629654349787e27dee686284567b5de70e138f2
6bec91c7d4670905cd67440991ec76fd54d0f000 09-Jan-2017 Vladimir Marko <vmarko@google.com> Store resolved types for AOT code in .bss.

Test: m test-art-host
Test: m test-art-target on Nexus 9.
Test: Nexus 9 boots.
Test: Build aosp_mips64-eng.
Bug: 30627598
Bug: 34193123
Change-Id: I8ec60a98eb488cb46ae3ea56341f5709dad4f623
87071bfb6c1b708bdfa2a5f91d4744667b3a0443 16-Jan-2017 Nicolas Geoffray <ngeoffray@google.com> Revert "ART: Add ThreadGroup API support"

Test fails

Bug: 31455788

This reverts commit 02afcde4132070d925838bc09c0f24d1bd45273d.

Change-Id: I470becb29fda54db0db6f764a83efc926badb555
0e692734b391653648b4547e89d8c32767b26ee8 11-Jan-2017 Alex Light <allight@google.com> Implement RedefineClasses, also redefine multiple classes atomically.

We need to be able to redefine multiple classes atomically for JVMTI.
This implements that behavior. It also implements RedefineClasses
since until we have class transformation it is trivial.

Test: mma -j40 test-art-host

Change-Id: I80784f919a4366c465b93fede94f4bf763c0ee70
02afcde4132070d925838bc09c0f24d1bd45273d 13-Jan-2017 Andreas Gampe <agampe@google.com> ART: Add ThreadGroup API support

Add support for GetThreadGroupInfo, GetThreadGroupChildren and
GetTopThreadGroups. Add tests.

Bug: 31455788
Test: m test-art-host-run-test-925-threadgroups
Change-Id: I56809c95dfd2666c2e18769a8960d6b1604274b4
c4baad2aa4857e0f64c37abc5185964b47aed8e1 12-Jan-2017 Andreas Gampe <agampe@google.com> Revert "Revert "ART: Ensure plugin is loaded on AttachAgent""

Agents require the JVMTI plugin. Ensure that it is loaded when
trying to satisfy an AttachAgent request. Amend test 909.

This reverts commit 98cf7cf8766770dba2718a6131345cc7f57c5bc7.
Blacklist debuggable test configurations for negative test.

Bug: 31682382
Test: m test-art-host-run-test-909-attach-agent
Change-Id: I7720a18689bd6ddee38292dd42faf190fc06d14d
af13ab9586cebbfc40204179e2dd0986cc14dd84 12-Jan-2017 Andreas Gampe <agampe@google.com> ART: Add GetCurrentThread and GetThreadInfo

Add support for GetCurrentThread and GetThreadInfo. Add tests.

Bug: 31684593
Test: m test-art-host-run-test-924-threads
Change-Id: Ic2bc4c9b5c283e4eefe4075b6abe251b8be499c8
319dbe87f2e1a3381696603384dc7f245800591d 10-Jan-2017 Andreas Gampe <agampe@google.com> ART: Add raw monitor API

Add support for CreateRawMonitor, DestroyRawMonitor,
RawMonitorEnter, RawMonitorExit, RawMonitorWait, RawMonitorNotify
and RawMonitorNotifyAll.

Bug: 31455788
Test: m test-art-host-run-test-923-monitors
Change-Id: I4eeab8011b547ae0ea8b2317701c68ce56677f79
1bdaf733b472bc79a8e385f0563ffed603a2c93e 10-Jan-2017 Andreas Gampe <agampe@google.com> ART: Add system properties support

Add simple support for GetSystemProperties, GetSystemProperty and
SetSystemProperty. Add a test.

Bug: 31455788
Test: m test-art-host-run-test-922-properties
Change-Id: I02914f04643f0f8fab96f1b372925c2c5306fc9b
460d1b4fea490253b64926457a67ae700bd48bf8 10-Jan-2017 Alex Light <allight@google.com> Revert "Revert "Add basic checks for redefinition.""

This reverts commit f9d41c1d269f3031c0a89e34fc4a04303e186958.

Reason for revert: Fixed issue of missing target skip.

Test: mma -j40 test-art-host
Change-Id: Ibe632e1f3063373950fb873e1716d0439c561297
6dd42a8427f1e5485adb82a1fbcf6900d8c317a5 09-Jan-2017 Andreas Gampe <agampe@google.com> ART: Change no-image run-test dependency

Let the no-image run-test Make configuration depend on the pic
image for prebuilding. This is what the run-test/run-test-jar
configuration will use.

Test: m ART_TEST_RUN_TEST_NO_IMAGE=true test-art-host && rm $ANDROID_HOST_OUT/framework/x86*/* && m ART_TEST_RUN_TEST_NO_IMAGE=true test-art-host
Change-Id: I5c02e76d5e51a63416705a58f733135b688158c2
50a4e4964bd66993e19768fc3af5b960653df8ed 07-Jan-2017 Andreas Gampe <agampe@google.com> ART: Add GetObjectSize and GetObjectHashCode

Add support for these two functions. Add tests.

Bug: 31684578
Test: m test-art-host-run-test-920-objects
Change-Id: If5dfb5aedddee47e5d739b0c56c7d264ba6e2d51
32a2fbac070b5dc2d9100e94ce19d0b4be26743f 06-Jan-2017 Alex Light <allight@google.com> Revert "Revert "Create test for field access in obsolete methods.""

This reverts commit b710a0e0e32193d345a4bfeb93649de2503489be.

Reason for revert: Fixed test issue

Test: ART_TEST_RUN_TEST_NDEBUG=true mma -j40 test-art-host

Change-Id: I30b758a61afa0eb132af239e8071ea79eab58ac1
ab2f0d0395c1f5f832239d42d404594d76a8d9d4 06-Jan-2017 Andreas Gampe <agampe@google.com> ART: Add Field methods

Add GetFieldName, GetFieldDeclaringClass, GetFieldModifiers
and IsFieldSynthetic support. Add tests.

Bug: 34113943
Test: m test-art-host-run-test-918-fields
Change-Id: Id33b8c54c250f73f0658ec45ccb2b55eccb37623
dba61481035b7944173181ec9ee02aea41dd0e29 21-Dec-2016 Alex Light <allight@google.com> Revert "Revert "Revert "Revert "Basic obsolete methods support""""

A GetDeclaringClass()->GetDexCache() got inserted during the
merge/review process meaning that we would try to access incorrect
dex-cache in obsolete methods in some situations.

Also when using tracing we would loop forever (or at least until an
OOM error) in test 916 due to tracing forcing InterpretOnly mode
meaning methods would never be jitted.

Bug: 32369913
Bug: 33630159

Test: ART_TEST_TRACE=true \
ART_TEST_JIT=true \
ART_TEST_INTERPRETER=true mma -j40 test-art-host

This reverts commit f6abcda293b115a9d7d8a26376ea2dcf2d1dc510.

Change-Id: I0773bfcba52e3cd51a83be815c6a50c189558f48
f6abcda293b115a9d7d8a26376ea2dcf2d1dc510 21-Dec-2016 Nicolas Geoffray <ngeoffray@google.com> Revert "Revert "Revert "Basic obsolete methods support"""

Fails in tracing mode

Bug: 32369913
Bug: 33630159

This reverts commit ce77fc0e7f60a15354bb20c356537cbf8b53b722.

Change-Id: I1bdcf6ad467f2e31f9c5d0c3c987b90a4f5efc69
b710a0e0e32193d345a4bfeb93649de2503489be 21-Dec-2016 Nicolas Geoffray <ngeoffray@google.com> Revert "Create test for field access in obsolete methods."

Fails on ndebug.

This reverts commit 322214405bf43684dbbde2fce549b2dad53fb04a.

Change-Id: I6a6c6c4bfb230eef1b7c4cb35f7e8051561d9e78
751927e83957f34f9d2750a905aeea86b2ca5ae8 21-Dec-2016 Nicolas Geoffray <ngeoffray@google.com> Disable 080-oom-fragmentation.

bug:33795328
Test: test-art-host
Change-Id: I1aa87d8564c930f5ad5f8d5c4ac75f432cb6e7e7
b83c748acfcb78e13a6dc7c3417c4106285190e1 21-Dec-2016 Alex Light <allight@google.com> Temporarily disable tests 914, 915, 917, & 918 on JIT.

Since these tests are very sensitive to the positioning of
runtime methods due to bugs we will temporarily disable them.

Bug: 33630159
Bug: 33616143
Test: ART_TEST_JIT=true mma -j40 test-art-host
Change-Id: I38795029eed2ea8416d24a259f3a7925d95684c6
e9f221b07f069df4c8926aa6be984ab096e98e71 20-Dec-2016 Vladimir Marko <vmarko@google.com> Revert "Disable 626-const-class-linking for JIT."

The failures were presumably fixed by
https://android-review.googlesource.com/314764

Test: m ART_TEST_JIT=true test-art-host-run-test-626-const-class-linking
Bug: 33567581

This reverts commit 0392920cb9f3dc76cbc9d2339b9ca00ba8a8269c.

Change-Id: I13ab17269f456580d57ca090ff44e8d087d770d4
322214405bf43684dbbde2fce549b2dad53fb04a 20-Dec-2016 Alex Light <allight@google.com> Create test for field access in obsolete methods.

Test: ./test/run-test --host 918
Change-Id: Idf27a0a713e12876e35de5c24bf5d12984881927
ce77fc0e7f60a15354bb20c356537cbf8b53b722 15-Dec-2016 Alex Light <allight@google.com> Revert "Revert "Basic obsolete methods support""

This reverts commit b81a9840b44480bfeacd74b8d9f51e06f295411d.

There were 2 issues with the original CL's test 916-obsolete-jit that
caused it to sporadically fail.

First, when checking if we had jitted the function under test in
916-obsolete-jit we failed to check to see if the function 'doCall',
which is used to work-around bugs in our deoptimization & compilation
systems, had also been jitted.

In the case where the 'sayHi' function had been jitted but the
'doCall' function had not we would (correctly) fail to redefine the
'Transform' class since we would not be able to deoptimize the 'sayHi'
function since it is under a quick_to_interpreter_bridge (runtime)
frame.

Secondly, the function Main.isInterpretedFunction was incorrect and
would always return false, regardless of the actual state of the
function. This would cause the test to fail as the
quick_to_interpreter_bridge frame prevented deoptimization of the
obsoleted function. Usually the warm-up period was enough to make sure
the methods were jitted anyway but this was not guaranteed.

Both of these problems become more likely to occur on systems with
more cpu contention such as the buildbots.

Test: stress --cpu 60 &; while ./test/run-test --host --jit 916; do ; done

Reason for revert: Fixed bug in test that was causing failures.

Original Tests:

Test: ./test/run-test --host 914
Test: ./test/run-test --host 915
Test: ./test/run-test --host 916
Test: mma -j40 test-art-host
Test: ART_TEST_JIT=true \
ART_TEST_INTERPRETER=true mma -j40 test-art-host
Test: ./art/tools/run-jdwp-tests.sh --mode=host --variant=X64
Test: ./art/tools/run-jdwp-tests.sh --mode=host --variant=X64 --no-jit

Bug: 32369913
Bug: 33630159

Change-Id: If1a92e47b90965a7dc21c5826185debe62bd1554
828b70c858061a1f744e8e3b28e08db96fcde7cf 16-Dec-2016 Hiroshi Yamauchi <yamauchi@google.com> Temporarily disable 153-reference-stress.

This is intermittently failing. See 33389022 #13.

Note this could fail either in CMS or CC, gcstress or not.

Bug: 33389022
Test: test-art-host.
Change-Id: I257c2c771fcab9405c1a15fa6e93364908fd1294
200b9d7ea50375ee3f423771f5511ff17ea0e0ab 15-Dec-2016 Alex Light <allight@google.com> Allow redefined methods/classes to access fields

Previously we were not updating the ArtFields of redefined classes.
This meant that the fields of redefined classes could not be accessed.

Bug: 32369913

Test: ./test/run-test --host 917
Test: mma -j40 test-art-host

Change-Id: If039e883e9a57970a0cffbc7dcbbaaf2d44490aa
c5fcb44405b436e8671e0c8c96b6d6d924649d1e 02-Dec-2016 Artem Serov <artem.serov@linaro.org> ARM: VIXL32: Implement some dispatch optimizations.

Implement dispatch optimizations for LoadClass, LoadString and
HInvokeStaticOrDirect. Still need to implement JitTables.

Test: ART_USE_VIXL_ARM_BACKEND=true m test-art-host
Test: ART_USE_VIXL_ARM_BACKEND=true m test-art-target

Change-Id: I6e24bc11f3915aa92eede687a864b7ea3a6ab165
b81a9840b44480bfeacd74b8d9f51e06f295411d 15-Dec-2016 Alex Light <allight@google.com> Revert "Basic obsolete methods support"

This reverts commit d8936da27b792d1ca02e59c92456a1a53c7b9905.

Reason for revert: Some sort of race in JIT

Change-Id: Ibb4e520bb0721d6d7aa2c841a52eb5baff07740e
940caa7e6c7c9a27c26abf7167ea40e44d5c95b6 14-Dec-2016 Andreas Gampe <agampe@google.com> ART: Blacklist tests that require JIT

Blacklist tests that expect JITing when running in the trace
configuration. Tracing forces the interpreter, so these tests
will wait forever.

Test: m ART_TEST_JIT=true ART_TEST_TRACE=true test-art-host
Change-Id: I830cc8ebac024a9489850b49c1ec242b7d3fd528
d8936da27b792d1ca02e59c92456a1a53c7b9905 29-Nov-2016 Alex Light <allight@google.com> Basic obsolete methods support

Add support for executing obsolete methods following redefinitions.
This support includes methods that have been jitted. This does not add
any additional validity checks to our redefinition functions.

Note using work-arounds to ensure 916 works pending some fixes to the
compiler, deoptimizer, or both.

Test: ./test/run-test --host 914
Test: ./test/run-test --host 915
Test: ./test/run-test --host 916
Test: mma -j40 test-art-host
Test: ART_TEST_JIT=true \
ART_TEST_INTERPRETER=true mma -j40 test-art-host
Test: ./art/tools/run-jdwp-tests.sh --mode=host --variant=X64
Test: ./art/tools/run-jdwp-tests.sh --mode=host --variant=X64 --no-jit

Bug: 32369913
Bug: 33630159

Change-Id: I78ef95f484146f1fb93c37fc50f56575bdab2432
0392920cb9f3dc76cbc9d2339b9ca00ba8a8269c 13-Dec-2016 Vladimir Marko <vmarko@google.com> Disable 626-const-class-linking for JIT.

Test: m ART_TEST_JIT=true test-art-host; test skipped.
Bug: 33567581
Change-Id: Ib530a27b14d918bc8a24f85473c8705f023280b0
4dbcfd6406576ad94a8175818ffa20e1ed451a6e 12-Dec-2016 Alex Light <allight@google.com> Disable test 964 with no-image

It often times out due to the large number of classes involved in the
test. Since it doesn't test anything particularly interesting for the
no-image case we are disabling it to reduce flakiness.

Test: TEST_ART_RUN_TEST_NO_IMAGE=true mma -j40 test-art-host
Change-Id: I9e51481e52dd1eb332d7563795f490b0e97001a5
1d0ae3f849aa1825cdb50e4a304652b0d2ad80ed 06-Dec-2016 Nicolas Geoffray <ngeoffray@google.com> Fix two tests after vdex change.

- Clear entries of verification results, to avoid hitting a
DCHECK while running verifier_deps_test
- Backlist 629-vdex-speed for relocate-npatchoat, as the test
needs compiled code.

test: verifier_deps_test, 629-vdex-speed
bug: 30937355
Change-Id: I9788599dafcbfe63522c58f85692601466d191db
51c17faee9ff0b93914ae2d308cfa24f0bc71d0a 25-Nov-2016 Nicolas Geoffray <ngeoffray@google.com> Create empty VerifiedMethod after vdex verification.

The compiler and quicken require the existence of a
VerifiedMethod for compiling a method.

This fixes the regression of not doing any compilation when
passed --input-vdex.

Test: 629-vdex-speed

Change-Id: Ie65578eadd09099df1c1a403d96c15e5da78a901
6d7e9982399a9eda7418d9c334b05a6a00cb2638 03-Dec-2016 Mathieu Chartier <mathieuc@google.com> Disable test 080 for GSS

Failing due to space sizing.

Test: test-art-host-run-test ART_DEFAULT_GC_TYPE=GSS ART_USE_TLAB=true ART_TEST_OPTIMIZING=true ART_TEST_INTERPRETER=true ART_TEST_JIT=true ART_USE_READ_BARRIER=false

Change-Id: I7a899395b547f3c49b7edba3500e18674aecda24
ae02d2e2b754f5a7ca2c4dcc869cf5934f88555e 23-Nov-2016 Nicolas Geoffray <ngeoffray@google.com> libopenjdkjvmti is actually not a test library.

Use the right target for the libopenjdkjvmti library.

Test: test-art-target-sync
Change-Id: I8c23c87911bc890482e5e9be3d64ce0a362b6924
eb26e28b1e73f7725603630d9d403e5dfa744d88 23-Nov-2016 Roland Levillain <rpl@google.com> Re-enable run-test 484-checker-register-hints with read barriers.

The code generated by the x86 back end with all read barrier
configurations now satisfies all Checker assertions.

Test: ART_USE_READ_BARRIER=true make test-art-host-run-test-484-checker-register-hints
Test: ART_USE_READ_BARRIER=true ART_HEAP_POISONING=true make test-art-host-run-test-484-checker-register-hints
Test: ART_USE_READ_BARRIER=true ART_READ_BARRIER_TYPE=TABLELOOKUP make test-art-host-run-test-484-checker-register-hints
Test: ART_USE_READ_BARRIER=true ART_READ_BARRIER_TYPE=TABLELOOKUP ART_HEAP_POISONING=true make test-art-host-run-test-484-checker-register-hints
Bug: 12687968
Change-Id: Ic1b40a4fd13ca52736db102426060713e83009b2
d026ee554b2604e7fdc9b5f65660202a386a6f00 23-Nov-2016 Nicolas Geoffray <ngeoffray@google.com> Update run-test dependencies on device.

Test: test-art-target
Change-Id: I5f58bcbf9eb41571d9511eba8b3f11765baf24a2
f2c5dbd2ca7f2ee131ec7fb83f386d2f94fa7589 18-Nov-2016 Andreas Gampe <agampe@google.com> ART: Make libopenjdkjvmti a run-test dependency

Add libopenjdkjvmti as a host dependency for running tests, as
required by the tests 900-913.

Bug: 31455788
Test: m test-art-host
Change-Id: I4910f587e35615a10168a39ef2c60d3d80981fc4
2f01b4d9a9ada6997c98ee9849a0d06fefb0aa58 11-Nov-2016 Nicolas Geoffray <ngeoffray@google.com> Update 902 test to highlight JIT issue.

Test: 902-hello-transformation
bug: 32821077
Change-Id: Ic7d267a5e62d4e001d1b85f1cc3d10546814bd18
5d139fc3898bad69b95a5e8583e4a7b2cc00c0b0 10-Nov-2016 Andreas Gampe <agampe@google.com> ART: Rewrite test 913 verification

Make the test more robust wrt/ the liberty the specification
gives for iteration order. Also make it robust wrt/ JIT by
waiting for any compilation to finish before following
references.

This reverts commit a35c584d7eb0ae02c9511f5f891b284362b12e28.
This reverts commit 8c433b9e45a26e3bde123a5b2697ca801ae8b039.

Test: m ART_TEST_INTERPRETER=true ART_TEST_JIT=true test-art-host-run-test-913-heaps
Change-Id: Ia94c597f4f7b66ab1014efb483b3aed2e859099a
a35c584d7eb0ae02c9511f5f891b284362b12e28 10-Nov-2016 Andreas Gampe <agampe@google.com> ART: Temporarily disable test 913 for non-aot configs

Until the test is generalized to recognize all allowed outputs,
disable non-default configurations.

Follow-up to commit 8c433b9e45a26e3bde123a5b2697ca801ae8b039 to
also disable for no-relocate configurations.

Bug: 31385354
Test: m ART_TEST_RUN_TEST_NO_RELOCATE=true test-art-host-run-test-913-heaps
Change-Id: If29ffdcca1fbd69bbac559dce99e84dc2592539a
8c433b9e45a26e3bde123a5b2697ca801ae8b039 10-Nov-2016 Andreas Gampe <agampe@google.com> ART: Temporarily disable test 913 for non-aot configs

Until the test is generalized to recognize all allowed outputs,
disable non-default configurations.

Bug: 31385354
Test: m ART_TEST_INTERPRETER=true ART_TEST_JIT=true test-art-host-run-test-913-heaps
Change-Id: Iad10879391d8029445032d7b5a69e6ebf2672b9e
19c5419d21376dd69404736b998fbbb9da54af56 04-Nov-2016 Roland Levillain <rpl@google.com> Revert "Revert "Enable IntermediateAddress for primitive arrays with read barriers.""

This reverts commit 4a3aa578eff94eb10450fae1772deb7cb8ddc6a6.

The failing assertion (see b/30762467):

08-09 11:32:46.767 1654 1656 F dex2oatd: art/compiler/optimizing/register_allocation_resolver.cc:325] Check failed: interval->GetDefinedBy()->IsActualObject() IntermediateAddress@InstanceFieldGet

that motivated the initial revert has been removed by a
previous CL (commit
70e97462116a47ef2e582ea29a037847debcc029,
https://android-review.googlesource.com/#/c/254920/).

Test: ART host and target (ARM, ARM64) tests with `ART_USE_READ_BARRIER=true`.
Bug: 26601270
Bug: 12687968
Change-Id: I09cae0c6c38ca403924153e9f0eb0cc3ff4540e7
7fa7cf59540f36fbfce6d5b553d11ca486a3f207 04-Nov-2016 Roland Levillain <rpl@google.com> Fix ART run-test 562-no-intermediate.

- Rename it to 562-checker-no-intermediate, so that Checker
assertions are actually verified.
- Fix Checker assertions, as they did not match the
code expected from the compiler.
- Have the test use an integer array (instead of a double
array), so that Checker assertions can be extended to ARM
as well (the ARM back end does not support the
IntermediateAddress instruction on long, float and double
arrays).

Test: make test-art-target-run-test-562-checker-no-intermediate
Bug: 30888043
Change-Id: I32c891948c585983d5fe5d6df092bc7a59c19ae6
40f2f31f25dbf3c9392e99cdd4084964d38e8018 01-Nov-2016 Andreas Gampe <agampe@google.com> ART: Blacklist test 913 for target

As usual, black-list an agent test for the target.

Bug: 32516268
Test: m test-art-host-run-test-913-heaps
Change-Id: Ica4f766c949da33067b7f478f08d9372c6085b11
8da6d03176651594b821cd3531894c372ca640d5 01-Nov-2016 Andreas Gampe <agampe@google.com> ART: Add forced garbage collection

Add ForceGarbageCollection support to the agent interface.

Add a test.

Test: m test-art-host-run-test-913-heaps
Bug: 32516268
Change-Id: Iaa97520d1b9e4b0adf088ccdf9712193c485b7c5
c8ba4600016ea15e0730191d15b2c10f62de2861 29-Oct-2016 Andreas Gampe <agampe@google.com> ART: Blacklist test 912 for target

As usual, black-list an agent test for the target.

Bug: 31684578
Test: m test-art-host-run-test-912-classes
Change-Id: I9afd9f88bf794e6d90d1ea5cd259de4fbed7e27e
80f5dba3de72b35cbc0d82e86f28fc89778e3bb8 29-Oct-2016 Andreas Gampe <agampe@google.com> ART: Blacklist test 911 for target

As usual, black-list an agent test for the target.

Bug: 31684812
Test: m test-art-host-run-test-911-get-stack-trace
Change-Id: I477ede7eb9b0ce7e76e3705d911052b332087e35
785359dfa4db2bd7552f22bf75cc92d2e1e62d1c 28-Oct-2016 Andreas Gampe <agampe@google.com> ART: Blacklist test 910 on target

As usual, blacklist agent test on target until supported.

Bug: 31684812
Test: m test-art-host
Change-Id: I369333c13f8959ceaf847a598f6b3e31597bf0c6
dc198153e079211ee6a6a783663c8e9ca01cf6a2 27-Oct-2016 Andreas Gampe <agampe@google.com> ART: Blacklist test 908 for GC_STRESS

The test "measures" GC invocations and expects stable deterministic
behavior that cannot be guaranteed with a small heap.

Bug: 31684633
Test: m ART_TEST_GC_STRESS=true test-art-host
Change-Id: Id40f42e34b373643802e393fce7741eef549fb4b
eb84221ffc00357be6d69e2e461c7a45ee96334a 07-Oct-2016 Leonard Mosescu <mosescu@google.com> Enable agent attaching during live phase

This is the ART part, the plumbing from VMDebug_attachAgent() to
actually loading the agent into the runtime.

Test: m test-art-host

Bug: 31682382

Change-Id: I3ccc67aa050c1f78278882128983686ed44ddec2
a5c61bf479453e7e195888afb4e62a9872d6be7c 24-Oct-2016 Richard Uhler <ruhler@google.com> Fall back to true anonymous mmap if out of file descriptors.

MemMap::MapAnonymous needs a file descriptor to create an ashmem
region to label otherwise anonymous mmaps for debugging purposes. If
the process has no file descriptors available, fall back to
traditional anonymous mmap rather than failing.

Test: m test-art-host, m test-art-target
Bug: 32013594
Bug: 32302133
Change-Id: I6b2c770fc031eb8d429407f3a0e7408c52cb1985
c0ada4a0911758b69e55bd5b3246ed1d35e2d4be 25-Oct-2016 Hiroshi Yamauchi <yamauchi@google.com> Blacklist 130-hprof for tracing configs.

Due to flakiness on art-tracing and art-interpreter-tracing.

Bug: 32383962
Test: test-art-host with ART_TEST_TRACE=true.
Change-Id: I7280c14ec7ce2bd4d5e5a599b4c42762baa07e13
5458f8940ab39e11374e2b00814ee32790f274e8 25-Oct-2016 Andreas Gampe <agampe@google.com> ART: Blacklist test 908 for target

As usual, black-list an agent test for the target.

Bug: 31684633
Test: m test-art-host-run-test-908-gc-start-finish
Change-Id: I0c246f7af7942ae098dc1d6829b34562ec4222e5
58deb865a8d3b80f49d71dfa468cd6241bb0f038 20-Oct-2016 Richard Uhler <ruhler@google.com> Disable 151-OpenFileLimit test.

Until we can track down all the crashes it leads to.

Bug: 32302133
Test: mma -j32 ART_TEST_JIT=true ART_TEST_INTERPRETER=true test-art-host-run-test-151-OpenFileLimit
Change-Id: I515a5175b4cefe49a8e270d354879050b1f616f9
c2fe8919ae78c09b5a084e7d073c3c8b5d3019ea 19-Oct-2016 Nicolas Geoffray <ngeoffray@google.com> Blacklist test that has been flaky for days.

Change-Id: Ic3f4a10568b03f02c2173fd18e7642bb9ae4e2b3
e7adee75353520ce8c76ce56c73311df2c3fb813 17-Oct-2016 Narayan Kamath <narayan@google.com> Revert "Revert "Revert "Temporarily blacklist 955-method-handles-smali."""

This reverts commit 5665f6a561262b78d85afc975eca5a3138f4efa2.

Test failures were fixed in d4fd5b1ec3bea01ad6985b7fe19a0f80b5fc970b.

Test: make test-art-host.

Change-Id: I45901836a92336ed1a337cdbf3fa9a0181c3d975
a7812ae7939b199392f874b24a52454bbd0c13f2 17-Oct-2016 Scott Wakeling <scott.wakeling@linaro.org> ARM: VIXL32: Pass initial ART tests with new code generator.

- Implement enough codegen to pass ~70 art/tests.

- When ART_USE_VIXL_ARM_BACKEND is defined:
- Blacklist known-to-fail target tests
- interpret-only everything except the tests themselves
- Set a flag to use the VIXL based ARM backend

Test: export ART_USE_VIXL_ARM_BACKEND=true && mma test-art-target && mma test-art-host

Change-Id: Ic8bc095e8449f10f97fa0511284790f36c20e276
6467876885e6425dc82e18446b59da42b96bea48 15-Oct-2016 Andreas Gampe <agampe@google.com> ART: Blacklist test 907 for target

Bug: 31684578
Test: m test-art-host
Change-Id: If2353bef8601ba16941a7b1df2befc215b493431
5665f6a561262b78d85afc975eca5a3138f4efa2 14-Oct-2016 Narayan Kamath <narayan@google.com> Revert "Revert "Temporarily blacklist 955-method-handles-smali.""

This reverts commit
f18d84699a7c18802f9774069143c173c6b927fb.

Tests are red on the bot. Blacklisting until this is investigated further.

Change-Id: Ibb9b4066abe28e8625c4eed5e0818e6a3fdd4f44
f18d84699a7c18802f9774069143c173c6b927fb 13-Oct-2016 Narayan Kamath <narayan@google.com> Revert "Temporarily blacklist 955-method-handles-smali."

This reverts commit adc2ef25244645a650111560d252e32b3e22f463.

The test is green, now that the required smali changes have been
merged into aosp/master.

Test: make test-art-host
Change-Id: I63eed37470d1def3bafccdd00116d7b49a4c9c78
5d0370178167aafae0f1cadd54ac97fc210e1ee4 13-Oct-2016 Andreas Gampe <agampe@google.com> ART: Disable test 906 for JIT

Suppress test which has potential allocations at inopportune
moments.

Bug: 31385354
Test: m ART_TEST_JIT=true test-art-host-run-test-906-iterate-heap
Change-Id: I137d5d2ba20b95ee4c4421e9da7526bee0c57d20
8ccc8fcf2fc631db73061a514b56af161016423f 12-Oct-2016 Andreas Gampe <agampe@google.com> ART: Disable test 906 for target

Bug: 31385354
Test: m test-art-host-run-test-906-iterate-heap
Change-Id: Ic31d25acd9c50dfefddd567ead30d8d3e3f97d0a
cc13b2226bcfb41e917f99ae5aeab79f25ed052e 11-Oct-2016 Andreas Gampe <agampe@google.com> ART: Add object reclaim support

Add support for the object free callback.

Refactor code in support. Add test.

Bug: 31384923
Test: m test-art-host
Test: m test-art-host-run-test-905-object-free
Test: m ART_USE_READ_BARRIER=true test-art-host-run-test-905-object-free
Change-Id: Icde40ad464c723cfe2f7660c07cd2f79b6dc2032
27fa96c285c4aa2f64e9bb63a3f38ffdc98c282a 08-Oct-2016 Andreas Gampe <agampe@google.com> ART: Add allocation callback

Bug: 31684277
Test: m test-art-host
Change-Id: I959f44e23ca5fe55ed678315708895faf0aadb04
fec2bdfbdcad4bd8938d958ae6c9dbfe37556a96 07-Oct-2016 Nicolas Geoffray <ngeoffray@google.com> Blacklist test 903.

bug:31681198
Change-Id: I2d5578242d594be791aedd99266263ec53182d77
adc2ef25244645a650111560d252e32b3e22f463 05-Oct-2016 Narayan Kamath <narayan@google.com> Temporarily blacklist 955-method-handles-smali.

Needs a companion smali change 7b348e4f323f44a7c44282.

Test: make test-art-host

Change-Id: Id245d9ead8467315c97cfe07103da2b406b08c49
a82a1aca396cb9dca1f13aa284dbec5d428b82a1 05-Oct-2016 Colin Cross <ccross@android.com> Revert "Compute PPID at ninja time"

This reverts commit b1c17bb080ccf41b30909c0401df59e6f3a1ebb1.

It breaks make test-art-host when /bin/sh is not bash, as
/bin/sh -c /bin/bash -c echo $PPID
returns the pid of /bin/sh, not the pid of ninja.

Test: none
Change-Id: Ia4e5f76ea4c5f5b5c102ce54ae03c3fccb23a49f
aad75c6d5bfab2dc8e30fc99fafe8cd2dc8b74d8 03-Oct-2016 Vladimir Marko <vmarko@google.com> Revert "Revert "Store resolved Strings for AOT code in .bss.""

Fixed oat_test to keep dex files alive. Fixed mips build.
Rewritten the .bss GC root visiting and added write barrier
to the artResolveStringFromCode().

Test: build aosp_mips-eng
Test: m ART_DEFAULT_GC_TYPE=SS test-art-target-host-gtest-oat_test
Test: Run ART test suite on host and Nexus 9.
Bug: 20323084
Bug: 30627598

This reverts commit 5f926055cb88089d8ca27243f35a9dfd89d981f0.

Change-Id: I07fa2278d82b8eb64964c9a4b66cb93726ccda6b
b1c17bb080ccf41b30909c0401df59e6f3a1ebb1 04-Oct-2016 Colin Cross <ccross@android.com> Compute PPID at ninja time

Using $(shell $$PPID) to compute PPID will return the pid of kati, which
will be the same for multiple sequential runs of make without changing
any makefiles. Replace it with a bash subshell command to return the pid
of ninja, which will be different for every call to make.

ART_HOST_TEST_DIR now contains $ that need to propagate to the final
bash command, and must be evaluated exactly once. Escape the $ in
${ART_HOST_TEST_DIR} in define-test-art-run-test so that
${ART_HOST_TEST_DIR} is not substituted in the function call to prevent
evaluating its contents in the $(eval) that wraps it, which would
substitute out the necessary $.

Test: m -j test-art-host
Change-Id: I3303805481cc1c77d1a321674e8c7c003043a7c4
5f926055cb88089d8ca27243f35a9dfd89d981f0 30-Sep-2016 Vladimir Marko <vmarko@google.com> Revert "Store resolved Strings for AOT code in .bss."

There are some issues with oat_test64 on host and aosp_mips-eng.

Also reverts "compiler_driver: Fix build."

Bug: 20323084
Bug: 30627598

This reverts commit 63dccbbefef3014c99c22748d18befcc7bcb3b41.
This reverts commit 04a44135ace10123f059373691594ae0f270a8a4.

Change-Id: I568ba3e58cf103987fdd63c8a21521010a9f27c4
63dccbbefef3014c99c22748d18befcc7bcb3b41 21-Sep-2016 Vladimir Marko <vmarko@google.com> Store resolved Strings for AOT code in .bss.

And do some related refactorings.

Bug: 20323084
Bug: 30627598
Test: Run ART test suite including gcstress on host and Nexus 9.
Test: Run ART test suite including gcstress with baker CC on host and Nexus 9.
Test: Build aosp_mips64-eng.
Change-Id: I1b12c1570fee8e5da490b47f231050142afcbd1e
d3997bd98a808c6b166b9c53eef523fc805ea2c2 04-May-2016 Alex Light <allight@google.com> Make test for app-image loading.

Bug: 26882072

(cherry picked from commit 2e960a075cd30a1fdfc31597c4a64f1fca026efd)

Test: test/run-test --host --no-relocate 596-app-images

Change-Id: I40a45e7944aec3a5ee28ef3d47e9881f61a7c9e6
ae7e5029ea0a4814a38c12e9c387b46ee5e93eca 22-Sep-2016 Alex Light <allight@google.com> Disable test 902-hello-transformation on target

This test doesn't work on device at the moment due to restrictions on
the android linker.

Bug: 31681198
Test: mma -j40 test-art-target-run-test-902-hello-transformation
Change-Id: I0ce72aa938a5c274083bcb0c60be5370a2bb02c3
06a04e0e776875303577c2d871b53a53c78da1b5 14-Sep-2016 Igor Murashkin <iam@google.com> jni: Implement generic JNI support for @CriticalNative/@FastNative

Also:
* Extend existing test cases to check generic JNI for the above.
* Re-enable previously blacklisted @CriticalNative JNI run-tests.

Bug: 31400248
Change-Id: I436ed00c8b8880e936a0c3483bc0dc251f0c0ce2
52136261f9755fc671ad77aa9a7f28934da1cf69 20-Sep-2016 Alex Light <allight@google.com> Rename several tests to be easier to read.

Several tests had their names changed recently for file name length
reasons. This change makes several of the tests have more consistent
and easy to read names.

Bug: 31597671
Test: mma test-art-host
Change-Id: I166f03b604c200256f997c18f7cb091548002777
ca57c409b947bdd4642374ae8d7366e14b2a836e 19-Sep-2016 Wojciech Staszkiewicz <staszkiewicz@google.com> Shorten long test names

Long Android.run-test.mk targets cause testing framework to
misbehave. Issues occur in no-prebuild mode when --output-path
parameter generated by the make system is too long. When this
happens oat generation fails silently in oat_file_assistant.cc
during creation of empty vdex and oat files.

Creation fails because file names, which are as long as absolute path
to source dex file, are longer than 255 characters Linux file name
limit.

Because oat generation fails silently affected tests pass even though
they were effectively ran in interpreter mode, instead of intended
default mode.

This CL shortens test names to be at most 35 characters. This helps
make the tests more reliable.

Test: m test-art-run-test
Bug: 31597671
Change-Id: Ic68408ae0c98ffca0c64ca4f5535f4e683a296f0
d7a819a162f83d1b66300141e7783899ac2030ed 01-Sep-2016 Wojciech Staszkiewicz <staszkiewicz@google.com> Integrate built-in bisection search with runtest

Adds a --bisection-search switch to run-test. When this switch
is enabled run-test performs bisection bug search for nonchecker
failing tests attempting to find faulty method and optimization.

Adds ART_TEST_BISECTION flag support to Android.run-test.mk.
When this flag is set to true, run-test will run in bisection
search mode.

Bisection search works in no-prebuild mode only.

Test: ART_TEST_BISECTION=true m test-art-run-test

Change-Id: Id2d664a0b35fed366f50a60ce96f1ca6bd123cd4
afd3c9ea7f238afebd5073c1143d3c832ab10a71 16-Sep-2016 Colin Cross <ccross@android.com> Convert art runtests to Android.bp

Build the art runtest libraries with Android.bp. The host test
libraries move from out/host/linux-x86/lib[64] to
out/host/linux-x86/nativetest[64], and the device test libraires from
/data/artest/${TARGET_ARCH} to /data/nativetest[64]/art/${TARGET_ARCH},
which requires adding nativetest to the library search path, and fixing
some tests to support multiple entries in library search paths.

Test: m -j test-art-host
Test: m -j test-art-target
Change-Id: I2118a3292f22f275954ddd7cdd4e12287fe47808
b76bc78ed20629966f4358b2031e75897d616d53 14-Sep-2016 Nicolas Geoffray <ngeoffray@google.com> Revert "Revert "Re-apply "Cleanup run-test and Makefile around boot image and PIC."""

This reverts commit 8522758c5ef6050e355613630ff81c2b49373b44.

Change-Id: Ie18417bd3d528673e3da39d92f43f20b853facda
8522758c5ef6050e355613630ff81c2b49373b44 13-Sep-2016 Hiroshi Yamauchi <yamauchi@google.com> Revert "Re-apply "Cleanup run-test and Makefile around boot image and PIC.""

This reverts commit 9b5515ebb4502119c44e898b05c69312a45c5f49.

Breaks some gtests.

Change-Id: Ic9c9061b05219f19d5c7713ce0239e60c9d6e287
9b5515ebb4502119c44e898b05c69312a45c5f49 12-Sep-2016 Nicolas Geoffray <ngeoffray@google.com> Re-apply "Cleanup run-test and Makefile around boot image and PIC."

This reverts commit 1ba223b2e6dab206b02613bc8b523553477fc4a0.

Change-Id: I0048afcefc5b654b62ddaf3c0d45ab201e4d3027
1ba223b2e6dab206b02613bc8b523553477fc4a0 12-Sep-2016 Nicolas Geoffray <ngeoffray@google.com> Squashed commit of the following:

commit 487bc26b726a839b2e46424ee3779ac3bb2033f6
Author: Nicolas Geoffray <ngeoffray@google.com>
Date: Mon Sep 12 14:24:12 2016 +0100

Revert "Cleanup run-test and Makefile around boot image and PIC."

This reverts commit 8c9ccac080e98fc5f33ba940a1216e9c2cc079db.

commit cefadb4b835390b508ae1d2b899f39f3769a593a
Author: Nicolas Geoffray <ngeoffray@google.com>
Date: Mon Sep 12 14:23:47 2016 +0100

Revert "Update test and dependencies after boot image changes."

This reverts commit 2a1a8d7fa450a8196a63afb3bf647b2bec723497.

Change-Id: I58731d845c1166406039a9b74c833d72a82c88fb
7cb4fb03a21b1806c8f370081c59f5e979f9baa7 12-Sep-2016 Nicolas Geoffray <ngeoffray@google.com> Blacklist failing test after critical JNI changes.

Change-Id: Ia525d12ba0a223ee3dfc4b095e0fe045271649cb
0bc4335469d2dcba515a153804098b12ec2360fe 10-Sep-2016 Igor Murashkin <iam@google.com> test: Disable 004-JniTest for nodex2oat and JIT config

These configs use generic jni, which is unsupported for @CriticalNative

Bug: 31400248
Change-Id: I77a2959e5657d6e0ed33e46e5179ad65342f30d5
8c9ccac080e98fc5f33ba940a1216e9c2cc079db 07-Sep-2016 Nicolas Geoffray <ngeoffray@google.com> Cleanup run-test and Makefile around boot image and PIC.

- JIT boot image is interpret-only
- Default is PIC image
- "Default" compiler is gone.

test: m -j32 test-art-host-run-test (with different macro variants)

Change-Id: I547f4579fa08bbcb634b256125ca45d832dc1d6b
986660c7175b3a99268a7bc38f283a2b1161781b 10-Dec-2015 Goran Jakovljevic <Goran.Jakovljevic@imgtec.com> MIPS32: Properly handle doubles in GetRegisterIfAccessible

There was a problem with floating point registers and exception
handler. In optimizing compiler fpu registers are treated as 64-bit.
This is problematic since logic in GetRegisterIfAccessible doesn't
support 64-bit floating point registers.

This fixes tests:
510-checker-try-catch
534-checker-bce-deoptimization

Test: mma test-art-target on CI20 (mips32r2) and emulator (mips32r6)

Change-Id: I0f49c1c30f97077b82ad08fcc3cdb86a4877af23
48e2340c823247e261304ee3ddacac1b8ae8a4f2 22-Aug-2016 Roland Levillain <rpl@google.com> Do not run 537-checker-arraycopy on non-Baker read barrier configs.

Test: ART_USE_READ_BARRIER=true ART_READ_BARRIER_TYPE=TABLELOOKUP make test-art-host-run-test-537-checker-arraycopy
Bug: 29516905
Bug: 12687968
Change-Id: Ie77f3a7ce19f3ff78d2132ca70fb10b595eb54d5
0b671c0408e98824e1f92b1ee951b210c090fe7a 19-Aug-2016 Roland Levillain <rpl@google.com> Add support for Baker read barriers in SystemArrayCopy intrinsics.

Benchmarks (ARM64) score variations on Nexus 5X with CPU
cores clamped at 960000 Hz (aosp_bullhead-userdebug build):
- Ritzperf - average (lower is better): -3.03% (slightly better)
- CaffeineMark - average (higher is better): +1.26% (slightly better)
- DeltaBlue (lower is better): -10.50% (better)
- Richards - average (lower is better): -3.36% (slightly better)
- SciMark2 - average (higher is better): +0.26% (virtually unchanged)

Details about Ritzperf benchmarks with meaningful variations
(lower is better):
- FormulaEvaluationActions.EvaluateAndApplyChanges: -13.26% (better)
- FormulaEvaluationActions.EvaluateCascadingSums: -10.94% (better)
- FormulaEvaluationActions.EvaluateComplexFormulas: -15.50% (better)
- FormulaEvaluationActions.EvaluateFibonacci: -10.41% (better)
- FormulaEvaluationActions.EvaluateLargeSums: +6.02% (worse)

Boot image code size variation on Nexus 5X
(aosp_bullhead-userdebug build):
- total ARM64 framework Oat files size change:
107047632 bytes -> 107154128 bytes (+0.10%)
- total ARM framework Oat files size change:
90932028 bytes -> 91009852 bytes (+0.09%)

Test: ART host and target (ARM, ARM64) tests + Nexus 5X boot.
Bug: 29516905
Bug: 29506760
Bug: 12687968
Change-Id: I85431368d09965687a0301ae2eb3c991f276ce5d
bf44e0e5281de91f2e38a9378b94ef8c50ad9b23 18-Aug-2016 Christina Wadsworth <cwadsworth@google.com> ART: Implement a fixed size string dex cache

Previously, the string dex cache was dex_file->NumStringIds() size, and
@ruhler found that only ~1% of that cache was ever getting filled. Since
many of these string dex caches were previously 100,000+ indices in
length, we're wasting a few hundred KB per app by storing null pointers.
The intent of this project was to reduce the space the string dex cache
is using, while not regressing on time that much. This is the first of a
few CLs, which implements the new fixed size array and disables the
compiled code so it always goes slow path. In four other CLs, I
implemented a "medium path" that regresses from the previous "fast path"
only a bit in assembly in the entrypoints. @vmarko will introduce new
compiled code in the future so that we ultimately won't be regressing on
time at all. Overall, space savings have been confirmed as on the order
of 100 KB per application.

A 4-5% slow down in art-opt on Golem, and no noticeable slow down in the
interpreter. The opt slow down should be diminished once the new
compiled code is introduced.

Test: m test-art-host

Bug: 20323084

Change-Id: Ic654a1fb9c1ae127dde59290bf36a23edb55ca8e
49948e9d4e66e68ea077031f9aa80b6c332bd673 12-Aug-2016 Alex Light <allight@google.com> Add skeleton of a jvmti plugin for art.

Test: mma test-art-host-run-test-901-hello-ti-agent
Change-Id: If6807b6238d57471e4ba0dd75c717721246443f6
4a3aa578eff94eb10450fae1772deb7cb8ddc6a6 15-Aug-2016 Roland Levillain <rpl@google.com> Revert "Enable IntermediateAddress for primitive arrays with read barriers."

This CL breaks the angler-userdebug build with
`ART_USE_READ_BARRIER=true`.

Test: Build angler-userdebug with `ART_USE_READ_BARRIER=true`.
Bug: 30762467
Bug: 26601270
Bug: 12687968

This reverts commit 12ecf0800d465acdaa3deccd383ff8ed3428a183.

Change-Id: Ia2069ac9436d2336311dd8d0f183c02e587586ae
7233c7e752c0d26387d143ee74420e9cd1f09390 28-Jul-2016 Alex Light <allight@google.com> Create a basic agent loading framework.

Currently we only allow agents to be loaded at runtime startup, though
this is expected to change soon.

Test: ./test/run-test --host 900
Change-Id: Id648eaed4bbbe6fdef41d64922d023a4db0bfa54
71572de11618275ac7a093a3bf3815c3dbdc2510 09-Aug-2016 Matthew Gharrity <gharrma@google.com> Add a graph coloring art test option

Test: ART_TEST_OPTIMIZING_GRAPH_COLOR=true m test-art-host

Change-Id: I1bd7c20cdd372ed227204c990484d123c67bdfa8
12ecf0800d465acdaa3deccd383ff8ed3428a183 08-Aug-2016 Roland Levillain <rpl@google.com> Enable IntermediateAddress for primitive arrays with read barriers.

Test: ART host and target (ARM, ARM64) tests.
Bug: 26601270
Bug: 12687968
Change-Id: I6736ba7b1809bece1bf3cd82c69e4f42a0d3c4a7
7fb2c2ca27be67d711055ab4a35bd4ea22e8978a 02-Aug-2016 Dan Willemsen <dwillemsen@google.com> Split art-run-tests between building and packaging

We remove the 'obj/PACKAGING' directory during an installclean. Instead
of forcing a rebuild of all of these tests after an installclean, build
them in a different obj directory, then copy them into the PACKAGING
directory to be gathered together by LOCAL_PICKUP_FILES.

The built directory isn't used directly for LOCAL_PICKUP_FILES, since we
don't clean up tests that are no longer defined, so an installclean can
fix that. This matches the behavior of modules installed into the system
image, etc.

This brings my build time for "m -j55 tests" from 3m30s to 35s after
"m installclean".

The total size of these binaries are small (~10MB), so the extra copy is
insignificant.

Change-Id: I20f1c09df25b70df8c7f86167480b3a39e99642a
328429ff48d06e2cad4ebdd3568ab06de916a10a 06-Jul-2016 Artem Serov <artem.serov@linaro.org> ARM: Port instr simplification of array accesses.

After changing the addressing mode for array accesses (in
https://android-review.googlesource.com/248406) the 'add'
instruction that calculates the base address for the array can be
shared across accesses to the same array.

Before https://android-review.googlesource.com/248406:
add IP, r[Array], r[Index0], LSL #2
ldr r0, [IP, #12]
add IP, r[Array], r[Index1], LSL #2
ldr r0, [IP, #12]

Before this CL:
add IP. r[Array], #12
ldr r0, [IP, r[Index0], LSL #2]
add IP. r[Array], #12
ldr r0, [IP, r[Index1], LSL #2]

After this CL:
add IP. r[Array], #12
ldr r0, [IP, r[Index0], LSL #2]
ldr r0, [IP, r[Index1], LSL #2]

Link to the original optimization:
https://android-review.googlesource.com/#/c/127310/

Test: Run ART test suite on Nexus 6.
Change-Id: Iee26f9a0a7ca46abb90e3f60d19d22dc8dee4d8f
0748ed9fcf63b8fc23e0d8f019ddc933f47fda10 27-Jun-2016 Andreas Gampe <agampe@google.com> ART: Disable no-prebuild test for run-test 608

This test relies on unresolved types, which is not the case in a
no-prebuild setting (as all parts will be on the classpath).

Bug: 29433999
Change-Id: I11b1c6b446905aacd7a520796d0b2217319cefc7
Test: m ART_TEST_RUN_TEST_NO_PREBUILD=true test-art-host-run-test
(cherry picked from commit 06b7c4de44979f1cb51707d2236142bc733ebf75)
06b7c4de44979f1cb51707d2236142bc733ebf75 27-Jun-2016 Andreas Gampe <agampe@google.com> ART: Disable no-prebuild test for run-test 608

This test relies on unresolved types, which is not the case in a
no-prebuild setting (as all parts will be on the classpath).

Bug: 29433999
Change-Id: I11b1c6b446905aacd7a520796d0b2217319cefc7
Test: m ART_TEST_RUN_TEST_NO_PREBUILD=true test-art-host-run-test
76ec73acc4a4d2895f9e033ed0861829838f1474 22-Jun-2016 Nicolas Geoffray <ngeoffray@google.com> Revert "Revert "Revert "Revert "Disable 149-suspend-all-stress, its output is flaky.""""

Bug: 29387050

This reverts commit 0b8a91477a3cd3357e89c20d78726728cf897246.

Change-Id: Ie349d70ee489fd4b9065df4a445bbf8ef42ae911
0b8a91477a3cd3357e89c20d78726728cf897246 18-Jun-2016 Mathieu Chartier <mathieuc@google.com> Revert "Revert "Revert "Disable 149-suspend-all-stress, its output is flaky."""

Bug: 29387050

This reverts commit 64ed882e0787014e5a0e5d62fe049dbfce150f92.

Change-Id: I09a5e0773dffccae741d7534405e7c1a7aa222ed
64ed882e0787014e5a0e5d62fe049dbfce150f92 15-Jun-2016 Nicolas Geoffray <ngeoffray@google.com> Revert "Revert "Disable 149-suspend-all-stress, its output is flaky.""

Still flaky.

bug:28988206

This reverts commit 06cb9b25e09c10530ba4f3659b54161b1c76c932.

Change-Id: I13626a8959db27fd566f6db56fab469312422e70
06cb9b25e09c10530ba4f3659b54161b1c76c932 13-Jun-2016 Mathieu Chartier <mathieuc@google.com> Revert "Disable 149-suspend-all-stress, its output is flaky."

This reverts commit e7aa9dd3c2f7156a4ad186dae93a3103f6eace81.
e7aa9dd3c2f7156a4ad186dae93a3103f6eace81 11-Jun-2016 Nicolas Geoffray <ngeoffray@google.com> Disable 149-suspend-all-stress, its output is flaky.

bug:28988206
Change-Id: I13cce14b72d753c9ba2ca9b4e256eb571620caa9
2e960a075cd30a1fdfc31597c4a64f1fca026efd 04-May-2016 Alex Light <allight@google.com> Make test for app-image loading.

Bug: 26882072

Change-Id: I40a45e7944aec3a5ee28ef3d47e9881f61a7c9e6
3aa7fb86baa175f6a1e15eabf4b455c533276bf0 15-Apr-2016 Richard Uhler <ruhler@google.com> Disable stripped-dex test for no-dex2oat.

Because the stripped-dex test requires a prebuild configuration.

Bug: 27599626
(cherry picked from commit 1b85354e974bac725b5baf1c8d1041b9b1e96643)

Change-Id: Ia55ae13e8ce2ab34348a5b9a096031d57c0048fa
cfe7184632c2b698179125dc1767ab83004b3d2b 14-Apr-2016 Richard Uhler <ruhler@google.com> Disable stripped-dex test on target.

Because the targets don't have the required zip command.

Bug: 27599626

(cherry picked from commit d7864d85b9ce87bc4a0ceb94adf6b9c216543da0)

Change-Id: Ib3e2e6d2874a36fa0e2ff2cba3e986107a05eaaa
1b85354e974bac725b5baf1c8d1041b9b1e96643 15-Apr-2016 Richard Uhler <ruhler@google.com> Disable stripped-dex test for no-dex2oat.

Because the stripped-dex test requires a prebuild configuration.

Bug: 27599626
Change-Id: Id94e76057201c8fb26b68d7123469cf4c61464e4
d7864d85b9ce87bc4a0ceb94adf6b9c216543da0 14-Apr-2016 Richard Uhler <ruhler@google.com> Disable stripped-dex test on target.

Because the targets don't have the required zip command.

Bug: 27599626

Change-Id: I5ba075165d96d831a4b8e0912cff1319071c60a5
1153ae16f243adb30fc8509c619025d30408c74a 04-Apr-2016 Richard Uhler <ruhler@google.com> Restore fallback behavior in the no-image stripped-dex case.

Add --strip-dex option to run-test to test this case.

Bug: 27599626

(cherry picked from commit 76f5cb6026b9c83bf00fd1007703503a327f704d)

Change-Id: I96bd2b013dd11ca1256f259181ea9c6087f16287
76f5cb6026b9c83bf00fd1007703503a327f704d 04-Apr-2016 Richard Uhler <ruhler@google.com> Restore fallback behavior in the no-image stripped-dex case.

Add --strip-dex option to run-test to test this case.

Bug: 27599626
Change-Id: I010543f48c39adbda007e2e05dda62ac1d70715c
2b763c3642b78e8a6a83787aedd713374afec2ef 31-Mar-2016 Sebastien Hertz <shertz@google.com> Remove obsolete ANDROID_COMPILE_WITH_JACK

Removes the checks on ANDROID_COMPILE_WITH_JACK since it is going
to disappear and build tests with Jack by default.

Bug: 27400061
Change-Id: I1c08796a946411070e2aab6fe8c3c0262dfb4c52
71d587682e2607cf05eaa474edf5969c3bcef505 23-Mar-2016 Nicolas Geoffray <ngeoffray@google.com> Revert "ART: Temporarily disable test"

Offending change has been reverted.

Bug: 27689078

This reverts commit 51135830a760ff647e5eb164d744abc769b006a7.

Change-Id: I794127eb9f2c0dfb08039eecffd777b7d94f0ed6
51135830a760ff647e5eb164d744abc769b006a7 23-Mar-2016 Andreas Gampe <agampe@google.com> ART: Temporarily disable test

For investigation.

Bug: 27689078
Change-Id: Ibcd24f90f68ac64119dfad9b17a42bed252ff009
cfa72391f9ec8ec99059f5125b0cb5c0dc4ac16e 22-Mar-2016 Nicolas Geoffray <ngeoffray@google.com> Disable two tests for no-prebuild.

bug:27784033
Change-Id: Ib4fc86cf970e6f008da006cad1bf18e58fb84346
7db00cdc25a1a68cbc3d942834b08043ef1253c2 22-Mar-2016 Nicolas Geoffray <ngeoffray@google.com> Update Makefile and scripts after Quick removal.

Change-Id: I7610b34da337d81d9176ceca74e55ab85642a72b
b9131b191567e984a5f3a1d125b36014b67b47b6 22-Mar-2016 Sebastien Hertz <shertz@google.com> Update run-test 097-duplicate-method

Runs the test with a precompiled classes.dex and re-enables it.

We need to build a dex file with duplicate methods. We cannot do that
with Jack (this is invalid) or smali (it does not keep duplicate
methods, only one is in the dex). Therefore, having a precompiled
dex file allows to run the test on whatever toolchain.

In the future, we could update the test if a tool allows to generate
it again.

Change-Id: I3803aa0c2e99ca61d58b36e088d9bbe199e07d3c
4eb90bf9f170a1d0a8b48be5227ac56613ae641c 17-Mar-2016 Hiroshi Yamauchi <yamauchi@google.com> Revert "Ignore 145-alloc-tracking-stress run-test failures with CC."

This reverts commit eeed32cd6b9d6949dd1e0ebbea6ea897e58bb2b8.

Bug: 27467554
6c73836daf0e8e5dfd18e4e090eb00c0de2e7255 17-Mar-2016 Hiroshi Yamauchi <yamauchi@google.com> Revert "Ignore 145-alloc-tracking-stress failures in interpreter with CC."

This reverts commit fee85561670331f38e0676baadc9be422d3d079c.

Bug: 27467554
5c0a4aff91efca13b1a560bca0be98fbc6da5ddd 17-Mar-2016 Hiroshi Yamauchi <yamauchi@google.com> Revert "Ignore 145-alloc-tracking-stress failures with JIT and CC."

This reverts commit 3296585f5879a9563214f178f97ee689fc651758.

Bug: 27467554
Change-Id: I356acd036f55605a782a83ab971d9808f10d0ed8
7d3ed110398e26b36081924a93ff751d1698ab65 16-Mar-2016 Sebastien Hertz <shertz@google.com> Re-enable checker tests 536 and 537

They were disabled due to a bug in Jack that is fixed now.

Bug: 25635944

(cherry picked from commit 2385d09d254ba3aafb2ee77178f16758e9685682)

Change-Id: I3c21e1dee81a148bf5725dea451bd63c97413fd5
2385d09d254ba3aafb2ee77178f16758e9685682 16-Mar-2016 Sebastien Hertz <shertz@google.com> Re-enable checker tests 536 and 537

They were disabled due to a bug in Jack that is fixed now.

Bug: 25635944
Change-Id: Id68824a8b4abbb6710e61897ffb3ed5daf839413
3296585f5879a9563214f178f97ee689fc651758 09-Mar-2016 Roland Levillain <rpl@google.com> Ignore 145-alloc-tracking-stress failures with JIT and CC.

This run-test fails also with JIT compiling on the
concurrent collector configuration; disable it for now.

Bug: 27467554
Change-Id: I551008ff5b70c83706287039092f5c9e26584227
fee85561670331f38e0676baadc9be422d3d079c 04-Mar-2016 Roland Levillain <rpl@google.com> Ignore 145-alloc-tracking-stress failures in interpreter with CC.

This run-test fails also with the interpreter on the
concurrent collector configuration; disable it for now.

Bug: 27467554
Change-Id: I54f76536b498ea2dedfd76d1bd77e1e26b415eb2
eeed32cd6b9d6949dd1e0ebbea6ea897e58bb2b8 03-Mar-2016 Roland Levillain <rpl@google.com> Ignore 145-alloc-tracking-stress run-test failures with CC.

This run-test sometimes fails with a timeout on ART
Builbot's x86-64 concurrent collector configuration. Disable
it to make the build turn green again, while we investigate
the failure.

Bug: 27467554
Change-Id: I0bac307ec85f197afb8763ca41a6ee50567c4d5f
40f1f0a70fe94efdd5135fc3efa349d7edfbe45d 02-Mar-2016 Andreas Gampe <agampe@google.com> Revert "Disable test after libunwind change."

This reverts commit 18047e4cd06387958d315d4de6d9c1753a08ee9e.

Moving the in-process lzma disable to libunwind allows to unwind not-zipped debug-info, again.

Bug: 27391690
Change-Id: I8c24dd0e73bc9d57ce83c6f5a8272d8252e5b809
6cba74b8c89ac8738212032313635050bb1535a1 02-Mar-2016 Hiroshi Yamauchi <yamauchi@google.com> Disable 577-profile-foreign-dex temporarily.

Until a fix arrives.

Bug: 27454772
Change-Id: Ieec219792c507ad85561a4188ec873d2f18e4604
f02c3cf66c2c24533f6da43970e7b766b2ca9938 29-Feb-2016 David Brazdil <dbrazdil@google.com> ART: Switch Checker run-tests to Jack

Bug: 25635944
Change-Id: Ic6774028025b51f54589e9625003e8f69cf39dea
18047e4cd06387958d315d4de6d9c1753a08ee9e 02-Mar-2016 Nicolas Geoffray <ngeoffray@google.com> Disable test after libunwind change.

Change that broke it:
https://android-review.googlesource.com/205606

bug:27391690
Change-Id: I73c545619a6a1bb03e49120466ac91686363230f
9198976d8dec82b96568cab7a23ab65d1abeca7e 02-Mar-2016 Mathieu Chartier <mathieuc@google.com> Revert "Disable flaky 130-hprof test."

Bug: 27337759

This reverts commit 2f0d3bc12f9ade80f4d3c21b7c4aad2cfe10f19e.
2f0d3bc12f9ade80f4d3c21b7c4aad2cfe10f19e 01-Mar-2016 Nicolas Geoffray <ngeoffray@google.com> Disable flaky 130-hprof test.

bug:27337759
Change-Id: I167bd42ef539bce46978b07f755efd57bc61b2f2
1d8bc19e0f83b249d4fb38b12075722b515a6541 25-Feb-2016 Sebastien Hertz <shertz@google.com> Disable test 097-duplicate-method for investigation

Broekn by latest Jack release (1.2-a19)

Bug: 27358065

(cherry picked from commit fc07555f6b8ce07b2c0897c6919597b53faa419d)

Change-Id: I13946fcd6cdf61645a4a60e619b343da8d9be341
fc07555f6b8ce07b2c0897c6919597b53faa419d 25-Feb-2016 Sebastien Hertz <shertz@google.com> Disable test 097-duplicate-method for investigation

Broekn by latest Jack release (1.2-a19)

Bug: 27358065
Change-Id: Ifd66522bde4c5b93435c6d9ab11ebb407f842df6
51e4d44178919bf717e58365ce52a3c852d28465 19-Jan-2016 Yohann Roussel <yroussel@google.com> Remove usages of jill.jar, use jack instead

(cherry picked from commit aaa779a0a5f7afc23814728de68c6fe3ae1450bf)

Change-Id: I87fc0cdd34cf8107601af38f2559597200908173
aaa779a0a5f7afc23814728de68c6fe3ae1450bf 19-Jan-2016 Yohann Roussel <yroussel@google.com> Remove usages of jill.jar, use jack instead

Change-Id: Icb403ee6fb5bf287d2b72bb253b683b1d95f4e07
d186dd8ecb1f25d3786d6b27adcd6b0b9ca04ea0 16-Feb-2016 Nicolas Geoffray <ngeoffray@google.com> Re-enable OSR.

1) Fix flaky test by doing explicit ProfilingInfo allocation,
and OSR compilation instead of relying on the system. Also
make sure the method $noinline$inlineCache always starts
with the interpreter, as otherwise we would infinite loop.

2) Ensure the thread doing the OSR cannot be suspended once it
holds an OSR method, as otherwise the jit code cache could
delete the method before the thread had a chance to jump to it.

Change-Id: Ic0dee181a7b23260419a94a7d7405f150433d31a
e86621386d18a3a7178af6cfc2c05d1b34c3b995 15-Feb-2016 Nicolas Geoffray <ngeoffray@google.com> Disable on stack replacement for now.

Change-Id: I7b57252d4872e8c280e95de4ad4ff55a3ca22685
d9994f069dfeaa32ba929ca78816b5b83e2a4134 11-Feb-2016 Nicolas Geoffray <ngeoffray@google.com> Re-enable OSR.

Fixes two bugs:
- Dealing with proxy methods, which the compiler and code cache
does not handle.
- Dealing with phi types, that may have been speculatively optimized
but do not hold once jumping to the compiled code.

Change-Id: I7dcd9976ef7b12128fff95d2b7ed3e69cc42e90a
f8b3b8bc37fb04d8ae113ae6bfcf4de2f5a700d4 04-Feb-2016 Vladimir Marko <vmarko@google.com> Try to substitute constructor chains for IPUTs.

Match a constructor chain where each constructor either
forwards some or all of its arguments to the next (i.e.
superclass constructor or a constructor in the same class)
and may pass extra zeros (of any type, including null),
followed by any number of IPUTs on "this", storing either
arguments or zeros, until we reach the contructor of
java.lang.Object.

When collecting IPUTs from the constructor chain, remove
any IPUTs that store the same field as an IPUT that comes
later. This is safe in this case even if those IPUTs store
volatile fields because the uninitialized object reference
wasn't allowed to escape yet. Also remove any IPUTs that
store zero values as the allocated object is already zero
initialized.

(cherry picked from commit 354efa6cdf558b2331e8fec539893fa51763806e)

Change-Id: I691e3b82e550e7a3272ce6a81647c7fcd02c01b1
354efa6cdf558b2331e8fec539893fa51763806e 04-Feb-2016 Vladimir Marko <vmarko@google.com> Try to substitute constructor chains for IPUTs.

Match a constructor chain where each constructor either
forwards some or all of its arguments to the next (i.e.
superclass constructor or a constructor in the same class)
and may pass extra zeros (of any type, including null),
followed by any number of IPUTs on "this", storing either
arguments or zeros, until we reach the contructor of
java.lang.Object.

When collecting IPUTs from the constructor chain, remove
any IPUTs that store the same field as an IPUT that comes
later. This is safe in this case even if those IPUTs store
volatile fields because the uninitialized object reference
wasn't allowed to escape yet. Also remove any IPUTs that
store zero values as the allocated object is already zero
initialized.

Change-Id: If93022310bf04fe38ee741665ac4a65d4c2bb25f
4d9b10a3d3092c4eaba07f399f65dbf4b54d2be3 07-Feb-2016 Nicolas Geoffray <ngeoffray@google.com> Disable osr while investigating flakiness.

org.apache.harmony.tests.java.util.TreeMapRndTest#testPutAll fails
in debug mode.

Change-Id: Idd15b25a236d4e5d3eb6d83ac0c038c1e10ee55a
d9bc433a89c41a255d1b669d075f802597839bdc 06-Feb-2016 Nicolas Geoffray <ngeoffray@google.com> Point fixes after OSR change.

- ldr -> ldrb in osr stub for arm32
- disable 570-checker-osr for tracing
- don't osr proxy methods.

Change-Id: I9c713c9b7eab86ca9beb75f228fb3b76185621ef
6fe28c0e1925f2d86559abc9b046244c42eb80bd 04-Feb-2016 Goran Jakovljevic <Goran.Jakovljevic@imgtec.com> Re-enable some MIPS/MIPS64 run-tests

These tests are passing now on MIPS/MIPS64:
- 441-checker-inliner
- 536-checker-intrinsic-optimization
- 557-checker-instruction-simplifier-ror

Change-Id: I57b82f8ec1e774e8e0a16ba289e50aa4a764b96b
df707e406877e9c0426dd051c00933ebb331673e 03-Feb-2016 Igor Murashkin <iam@google.com> runtime: Don't skip verification for -Xverify:soft-fail

When forcing the interpreter into access checks mode,
make sure that the regular verification is still run,
giving the verifier an opportunity to throw a VerifyError.

If verification would've succeeded (without -Xverify:soft-fail flag),
override this and soft-fail, to force the interpreter-with-access-checks to be run
instead of the normal faster interpreter.

This fixes the following run-tests under the interpeter-access-checks:
* 135
* 412
* 471
* 506
* 800

Bug: 22414682
Change-Id: I5cb86a8bba71c7af9361a63c0802786c852b857b
f1b4c41dba8ea69c25f7db53eec97a8936e0d7f0 02-Feb-2016 Igor Murashkin <iam@google.com> runtime: Fix field resolution with access checks (runtest 073)

Fixes field resolution not to take static/instance into account until
after the field is completely resolved. Only the [i|s][put|get]
instructions themselves have enough context on whether the field must be
static or not (and throw an ICCE on a mismatch).

This makes us more JLS 13.4.8 compatible and also fixes a run-test
failure for interpreter-access-checks configuration.

Bug: 22414682
Change-Id: I78b17187e59f8f78569fcd8ffdf1cf1603a2d4b2
9f95ba750583735cff1f2921b8014099dd801734 01-Feb-2016 Igor Murashkin <iam@google.com> interpreter: Fix proxy method invocation with access checks enabled.

Interpret with access checks uses type information stored by a dex file,
so we need to get the original interface method (which is guaranteed
to be dex file backed) in that case.

Does not change method invoke target, just the method used for checks.

The existing 044-proxy test already covers this, so no regression test
necessary. Remove fixed tests from the blacklist.

Bug: 26846861
Bug: 22414682
Change-Id: I28c3707e38c1f69ea9d3660f68136f688122ac4e
88b29f3647db588e1d28f36f15ff68c6cfe39f58 02-Feb-2016 Vladimir Marko <vmarko@google.com> Optimizing: Re-enable checker tests disabled for multi-image.

The pattern substituion we now do instead of inlining
is enough for these tests to work again.

Bug: 26317072
Change-Id: I0d501874b1be31884e9efc4f5d32fa893394c9ec
c26f1288aaf9141ac4b2150869f0c594d52dbf36 29-Jan-2016 Nicolas Geoffray <ngeoffray@google.com> Re-enable test 566-polymorphic-inlining.

- Can not rely on debug builds.
- Need to wait for the method to be compiled.

Change-Id: I26ce89075075da8555fd59ade56bd04bec23f4ce
560297fe39a0f181d7e7dd5f026a8c4a3d4abed1 29-Jan-2016 Roland Levillain <rpl@google.com> Re-enable test 496-checker-inlining-and-class-loader with CC.

This test might have been affected by an app image change.
Re-enable it so that we can monitor it on the concurrent
collector configurations.

Bug: 26786304
Bug: 12687968
Change-Id: Iab484418d4a507da6642eec86317d53cc0a2607a
1cdee57ddc98a8e20af3e9d677217c1b47a75635 29-Jan-2016 Nicolas Geoffray <ngeoffray@google.com> Disable test for now.

Change-Id: Ibc7f2a2b1fb35c7b0b9d8a34b5e6adc243a67776
8edb521343084e63b7d89064771f210b4cabbbed 27-Jan-2016 Roland Levillain <rpl@google.com> Re-enable some run-tests with CC after mterp fix.

These tests might have been affected by a moving GC issue in
the fast interpreter:
- 004-ThreadStress
- 141-class-unload

Re-enable them so that we can monitor them on the concurrent
collector configurations.

Bug: 26786154
Bug: 25866001
Bug: 12687968
Change-Id: I3b4902501ea1d13ef5454974be68b82ee196a169
b0659e640fd80a8825b433aac9c4f095ecb098cf 26-Jan-2016 Roland Levillain <rpl@google.com> Disable interpreter run-tests occasionally failing with CC.

These tests sometimes fail on the concurrent collector
configurations:
- 004-ThreadStress
- 141-class-unload

Disable them while we investigate.

Also adjust the list of Quick run-tests failing with CC.

Bug: 26786154
Bug: 25866001
Bug: 12687968
Change-Id: I7a37184888b7c992ab636bba44760c1aeab51aad
78ebe4a59ffedee43bf57f27071ab3eac06b87c6 26-Jan-2016 Roland Levillain <rpl@google.com> Disable run-tests causing occasional timeouts with CC.

These tests sometimes time out on the concurrent collector
configurations:
- 004-ThreadStress
- 496-checker-inlining-and-class-loader

Disable them while we investigate.

Bug: 26786154
Bug: 26786304
Bug: 12687968
Change-Id: I169766eac656cd1281a169337c2205a9592c32a1
4694e82d0062fa6fabb18f3ada5c4e32499f7078 22-Jan-2016 Alex Light <allight@google.com> Raise ulimit for run-test 961.

Run-test 961 was rubbing against the ulimit, causing spurious
failures. This raises the ulimit the test runs under.

Bug: 26733951

Change-Id: I43f7c5f8e5e9e23ed139bd1fcc6bf24c526c546b
836f7eeb21d45ed0a76b636386f56e4fbd2a3ac7 22-Jan-2016 Nicolas Geoffray <ngeoffray@google.com> Disable flaky test.

Change-Id: I003c2ab9ed0b0629a4b44c42a2139a99b05f40ae
cc6bb939d00016bfa342fa8cbfc7540b7abc89f2 19-Jan-2016 Yohann Roussel <yroussel@google.com> Let Art tests use the default jack version

(cherry picked from commit 261cf1b14a06c86e4a19972eabb5b43bc82bb717)

Change-Id: I7184a752b067e59fc28804cba92df62e713a0785
261cf1b14a06c86e4a19972eabb5b43bc82bb717 19-Jan-2016 Yohann Roussel <yroussel@google.com> Let Art tests use the default jack version

Change-Id: Ifc1d487b6e3fbdcc650d6f0f7497513793047562
a866ccf692a3823f99423fff92fb3e11c13f4622 19-Jan-2016 Nicolas Geoffray <ngeoffray@google.com> Disable reanmed test due to python3.

Change-Id: I75781af509933d85ed56dde2defa350c2c636f49
cd3d0fb5a4c113cfdb610454d133762a2ab0e6de 15-Jan-2016 Roland Levillain <rpl@google.com> Do not use HArm64IntermediateAddress with read barriers.

This ARM64 instruction simplification does not yet work
correctly with the read barrier compiler instrumentation.

Bug: 26601270
Bug: 12687968
Change-Id: I0c3c5d0043ebd936e00984740efbae8b3025c7ca
812dd366f109e810275f3f869a45b9748255b5a5 14-Jan-2016 Nicolas Geoffray <ngeoffray@google.com> Yet another python3 dependency.

Change-Id: Iefdfdef707c028d4bb6087a2d1f424f5503366b2
6de1938e562b0d06e462512dd806166e754035ea 08-Jan-2016 David Brazdil <dbrazdil@google.com> ART: Remove incorrect HFakeString optimization

Simplification of HFakeString assumes that it cannot be used until
String.<init> is called which is not true and causes different
behaviour between the compiler and the interpreter. This patch
removes the optimization together with the HFakeString instruction.

Instead, HNewInstance is generated and an empty String allocated
until it is replaced with the result of the StringFactory call. This
is consistent with the behaviour of the interpreter but is too
conservative. A follow-up CL will attempt to optimize out the initial
allocation when possible.

Bug: 26457745
Bug: 26486014

Change-Id: I7139e37ed00a880715bfc234896a930fde670c44
3c36f66f3e8db8837097a9e82ee36df15bbdfbdf 14-Jan-2016 Roland Levillain <rpl@google.com> Ignore 141-class-unload failures with JIT and CC.

This test sometimes fails on ART Builbot's x86-64 concurrent
collector configuration with JIT.

Disable it while we investigate.

Bug: 25866001
Change-Id: I8ed04fc1d9c920ff73032bc3f06ede85044fd925
0e7fa6b06e37e7c95509cd234571f469bf5821c2 13-Jan-2016 Nicolas Geoffray <ngeoffray@google.com> Also print to error stream.

So we can test between all kinds of configuration (for example
host no-dex2oat removes all error logs).

Change-Id: I5936fdd963e3805c49258ee6ed50d8def23d1aca
705ad49f353d3f90d8b63625aca2c2035bacdbef 21-Sep-2015 Alex Light <allight@google.com> Support directly invoking interface default methods

With the Java 8 Language one is allowed to directly call default
interface methods of interfaces one (directly) implements through the
use of the super keyword. We support this behavior through the
invoke-super opcode with the target being an interface.

We add 3 tests for this behavior.

Currently only supports slow-path interpreter.

Invoke-super is currently extremely slow.

Bug: 24618811

Change-Id: I7e06e17326f7dbae0116bd7dfefca151f0092bd2
7ca9557b14dd3aee4ec18700f0c6282eded5dd76 12-Jan-2016 Mathieu Chartier <mathieuc@google.com> Revert "Disable flaky test on host."

Bug: 26483935

This reverts commit 72f7236cbc00e3a3f93dffb627417d666ee22518.

Change-Id: I57eb2b8315d274ad751aa2054a298a556c7b0cd9
6cd77672965187d49c2a6a539f6c2470d333b9b0 11-Jan-2016 Nicolas Geoffray <ngeoffray@google.com> Fix brainos in makefiles.

Change-Id: If6f9aae6fc18bf5a28e7804303dcdb319dea0cb2
6a58d44dbe5897a05b34930ae50156ffbb15d592 11-Jan-2016 Nicolas Geoffray <ngeoffray@google.com> Fix "check" file, and mark test as failing on device.

Change-Id: Ie1f9a2e86f94ccc3c9859ac172ee4b3da0f85d63
72f7236cbc00e3a3f93dffb627417d666ee22518 11-Jan-2016 Nicolas Geoffray <ngeoffray@google.com> Disable flaky test on host.

bug:26483935
Change-Id: I6e1f7b2d33182969d08d75d217ff0891920dc35b
acd7a6ac4bb5b43b07362f5c83ab0259514370d6 08-Jan-2016 Jeff Hao <jeffhao@google.com> Fix general multi-image TODOs.

- Removed some unnecessary comments.

Bug: 26317072

(cherry-picked from commit 509f2ab308032534f14d8f4f374f60da8a615fa2)

Change-Id: Id542262ca1182fb77f029f2136266e470bde9473
b8dce04d98277545b55d6e617076ac5911afbcb5 08-Jan-2016 Jeff Hao <jeffhao@google.com> Re-disable tests broken for optimizing by multi-image.

Bug: 26317072
Change-Id: I8ce15cde51766073565f6e108c4e00accc7124da
509f2ab308032534f14d8f4f374f60da8a615fa2 08-Jan-2016 Jeff Hao <jeffhao@google.com> Fix general multi-image TODOs.

- Removed some unnecessary comments.
- Reenabled tests that are working again.

Change-Id: Id542262ca1182fb77f029f2136266e470bde9473
10edbb159afae232817c86fc06a6801349f05bae 07-Jan-2016 Andreas Gampe <agampe@google.com> ART: Use libopenjdkd

Load libopenjdkd in debug mode. Add dependencies for libopenjdkd
in the Makefiles.

Bug: 26421792
Change-Id: Ie64cd56f73901b9c7645e46384d753752bbd5351
0b9112ddc74919650d6f62abfb758549763c48ca 04-Jan-2016 Nicolas Geoffray <ngeoffray@google.com> Add 002-sleep as timing sensitive.

The buildbots have chewed on it a few times.

Change-Id: Icf81cf4baa8e06573ed92bf61c0861c64825475a
8994a04162a92759f8ec531d18ee8901145dfda0 30-Dec-2015 Andreas Gampe <agampe@google.com> Revert "Revert "ART: Fix up some multi-image cases""

This reverts commit de38b797c3e5ba3ee44c480db7093386975c51eb.

Fix up imgdiag for std::string and multi-image.

Bug: 26317072
Bug: 26320300

Change-Id: I94ce9528e9fea6fb3231a70c32db02d567143db9
de38b797c3e5ba3ee44c480db7093386975c51eb 30-Dec-2015 Nicolas Geoffray <ngeoffray@google.com> Revert "ART: Fix up some multi-image cases"

Fails imgdiag_test on device.

Bug: 26317072
Bug: 26320300

This reverts commit 288b1e9a0dddfb91e85067fe81de55174f313c7c.

Change-Id: Iccd05827b0630281b6f959331eaa4202526df78e
288b1e9a0dddfb91e85067fe81de55174f313c7c 28-Dec-2015 Andreas Gampe <agampe@google.com> ART: Fix up some multi-image cases

Change the auto-generated multi-image names to include the path
components from the first image, as well as prefix them with the
first image's name to disambiguate. This fixes vogar-style usage.

Fix an out-of-bounds issue in dex2oat when dex files are missing.

Forbid generating or patching multi-image parts when loading images.
Instead just fail loading them.

Remember ImageSpace instances that have been added while trying to
load a multi-image set. Remove all loaded instances when the overall
loading process fails.

Refactor the dex location adaptation into ImageSpace. Reuse the code
in the Runtime path for fallback, so that all dex files can be found
correctly.

Fix an out-of-bounds access in OatFileAssistant in fallback mode.

Partially reverts d895961d07a1d320b29f2045a48bc5a1944a4d3c. Push an
actual image name, that is, something with an art extension, to
the vogar scripts.

Partially reverts c525604b313bb77a2077e1fec43dfab76cb1b9b1. Test
119-noimage-patchoat works again.

Bug: 26317072
Bug: 26320300
Change-Id: I3f05fa77f22a2b9ca54c3105ffc53646c1928604
c525604b313bb77a2077e1fec43dfab76cb1b9b1 26-Dec-2015 Nicolas Geoffray <ngeoffray@google.com> Tweaks to get run-test working after enso.

- test 119 temporarily disabled
- set java.io.tmpdir in the command line for target

bug:26320300

Change-Id: I9ddeac4f23f065eea62511f9fa392ea4764d0435
dcdc85bbd569f0ee66c331b4219c19304a616214 04-Dec-2015 Jeff Hao <jeffhao@google.com> Dex2oat support for multiple oat file and image file outputs.

Multiple changes to dex2oat and the runtime to support a --multi-image
option. This generates a separate oat file and image file output for
each dex file input.

Change-Id: Ie1d6f0b8afa8aed5790065b8c2eb177990c60129
05b91251870533aae58670cd073643ae700c8521 09-Dec-2015 Yohann Roussel <yroussel@google.com> Ensure Jack server is running before any use

Change-Id: Ie978e994945946139e0faf583c5d767a15ab060e
e217fee3c2daabc302f375252c5b22937d90272e 16-Dec-2015 Roland Levillain <rpl@google.com> Adjust tests blacklisted for heap poisoning and read barriers.

Bug: 12687968
Change-Id: I7b504661c04d35d10f66a3893a33db8c9db128a1
7c1559a06041c9c299d5ab514d54b2102f204a84 15-Dec-2015 Roland Levillain <rpl@google.com> x86 Baker's read barrier fast path implementation.

Introduce an x86 fast path implementation in Optimizing for
Baker's read barriers (for both heap reference loads and GC
root loads). The marking phase of the read barrier is
performed by a slow path, invoking a new runtime entry point
(artReadBarrierMark).

Other read barrier algorithms continue to use the original
slow path based implementation, which has been renamed as
GenerateReadBarrierSlow/GenerateReadBarrierForRootSlow.

Bug: 12687968
Change-Id: Ie610c4befc19ff22378a8cba38b422dcacb54320
34021dd9bf1f396f01f32bb1b6c100538018127c 14-Dec-2015 Calin Juravle <calin@google.com> Increase the sleep time in 554-jit-profile-file

The previous sleep time wasn't enough. Some tests failed because not
all the methods managed to be compiled in time.

Change-Id: I4d63b6c3602c72dfa608f62c55e0f484bbfcf900
c44edf6528743139975bf33a9239c16f64ee956f 14-Dec-2015 Calin Juravle <calin@google.com> Disable 554-jit-profile-file for the READ_BARRIER mode.

Change-Id: I98f5c0aeb0d68b42a587b1f7261d3fe998ca7f8b
5d3fa25f0257a5fc4246c9a6a1c4844066a30ce1 14-Dec-2015 Vladimir Marko <vmarko@google.com> ART: Rename ROR test to a shorter name.

Keeps the file names of test files within limits.
The new name is exactly as long as the next longest name.

Change-Id: I4bbfd4cf2aa402a436ba9a5bc9589aa8710b9c15
226501b317e148aa8a8983355e85acb59c1eee83 11-Dec-2015 Calin Juravle <calin@google.com> Revert "Revert "Enable profiled guided compilation in dex2oat""

This reverts commit 2306ae0d412cc53cbf64877e4a8c37292dd907d8.

Change-Id: I50640009c2fac88ea703812b76549a0e8a6d7584
40a04bf64e5837fa48aceaffe970c9984c94084a 11-Dec-2015 Scott Wakeling <scott.wakeling@linaro.org> Replace rotate patterns and invokes with HRor IR.

Replace constant and register version bitfield rotate patterns, and
rotateRight/Left intrinsic invokes, with new HRor IR.

Where k is constant and r is a register, with the UShr and Shl on
either side of a |, +, or ^, the following patterns are replaced:

x >>> #k OP x << #(reg_size - k)
x >>> #k OP x << #-k

x >>> r OP x << (#reg_size - r)
x >>> (#reg_size - r) OP x << r

x >>> r OP x << -r
x >>> -r OP x << r

Implemented for ARM/ARM64 & X86/X86_64.

Tests changed to not be inlined to prevent optimization from folding
them out. Additional tests added for constant rotate amounts.

Change-Id: I5847d104c0a0348e5792be6c5072ce5090ca2c34
2306ae0d412cc53cbf64877e4a8c37292dd907d8 11-Dec-2015 Calin Juravle <calin@google.com> Revert "Enable profiled guided compilation in dex2oat"

The test still have some flakiness in it which didn't reproduce locally.

This reverts commit 500c9be1f261a8a95ae7a25f4f8084f43207f313.

Change-Id: I132aff62bf03c2f926aafde6869707573bae9b36
0ec6a117a842dbee1e48d03ceaf5dbf2c73369ba 09-Dec-2015 Yohann Roussel <yroussel@google.com> Ensure Jack server is running before any use

Change-Id: Ie978e994945946139e0faf583c5d767a15ab060e
500c9be1f261a8a95ae7a25f4f8084f43207f313 25-Nov-2015 Calin Juravle <calin@google.com> Enable profiled guided compilation in dex2oat

- add parsing of the profile info saved during JIT.
- don't compile methods which are not part of the profile info.
- delete old profile hooks.
- add test for reading/writing profile. The test is disable in:
* interpreter modes: the test needs JIT.
* no-dex2oat/no-prebuild: we only save profiling info for the primary
oat file. In these modes we don't create oat files and thus nothing
is saved.

Bug:26080105

Change-Id: Ifdc63dc9d4b537fc79e54c3edc3ae3a462bc30fb
204e966419171b7619fbb972b145b5118bc30cab 05-Dec-2015 Hiroshi Yamauchi <yamauchi@google.com> Revert "Disable tests causing random failures with Enso and read barriers."

CL 827405 should fix the flaky failures.

Bug: 25838574
Bug: 12687968

This reverts commit 97290796b06fb49b88efee8b992b9b7defa53d00.

Change-Id: I7e8213eb2c8d6489051e187f6f36204be072d738
07f78c828940743376676e8c0c5e84321ce88ee2 02-Dec-2015 Nicolas Geoffray <ngeoffray@google.com> Revert "Disable 554-jit-profile-file for unsupported test modes"

Test has flakes:

+art F 30865 30865 art/runtime/java_vm_ext.cc:466] JNI DETECTED ERROR IN APPLICATION: input is not valid Modified UTF-8: illegal start byte 0x80
+art F 30865 30865 art/runtime/java_vm_ext.cc:466] string: '��gy�'
+art F 30865 30865 art/runtime/java_vm_ext.cc:466] input: '<0x80> 0xd8 0x67 0x79 0x8e 0x7f'
+art F 30865 30865 art/runtime/java_vm_ext.cc:466] in call to NewStringUTF
+art F 30865 30865 art/runtime/java_vm_ext.cc:466] from java.lang.String Main.getProfileInfoDump(java.lang.String, java.lang.Class, java.lang.Class)

This reverts commit 33bcb0734db9ccfdd0e8bb8fba77c1e0a1904090.

Change-Id: I3fe236acb196e847b7845802e436b0ee893144e6
216848a1d41e986ff169e4277135b8ef545e67a3 02-Dec-2015 Andreas Gampe <agampe@google.com> ART: Fix Makefile

Fix the run-test makefile.

(cherry picked from commit 4adc26e8c68be3304f9c1714758e72f98526d68b)

Change-Id: Iccd64165e70a3e18cd966289f150f053b091ef7c
4adc26e8c68be3304f9c1714758e72f98526d68b 02-Dec-2015 Andreas Gampe <agampe@google.com> ART: Fix Makefile

Fix the run-test makefile.

Change-Id: Iccd64165e70a3e18cd966289f150f053b091ef7c
33bcb0734db9ccfdd0e8bb8fba77c1e0a1904090 02-Dec-2015 Calin Juravle <calin@google.com> Disable 554-jit-profile-file for unsupported test modes

Reasons:
- interpreter modes: the test needs JIT.
- no-dex2oat/no-prebuild: we only save profiling info for the primary
oat file. In these modes we don't create oat files and thus nothing is
saved.

Change-Id: I3b0574c0f39ee0db20803c021a6e827d96acd7c0
c6e043c7c4ed4ffdd165dad209c904e91f686383 26-Nov-2015 Narayan Kamath <narayan@google.com> Remove section related to enso failures.

We have no tests failing to enso at the moment. 070-nio-buffer was
fixed and 955-smali was reverted.

Change-Id: I72b269d917c081ff414c9b3771920cc0eabde609
97290796b06fb49b88efee8b992b9b7defa53d00 26-Nov-2015 Roland Levillain <rpl@google.com> Disable tests causing random failures with Enso and read barriers.

The new implementation of java.lang.reflect.Proxy (in
libcore/ojluni/src/main/java/java/lang/reflect/Proxy.java)
uses weak references (in getProxyClass0). Two ART run-tests
(044-proxy and 005-annotations) rely on precise proxy
class names being outputted, but because weak references may
not be collected on time, there is sometimes a discrepancy
between expected and actual results in those tests. This
issue seems to be triggereed more frequently with the
implementation of read barriers in the compiler, which
relies on a slow path always calling a runtime entry point.

This problem did not happen before Enso, as the old
implementation of getProxyClass
(libcore/libart/src/main/java/java/lang/reflect/Proxy.java)
did not use weak references (in getProxyClass).

Temporarily disable tests 044-proxy and 005-annotations to
make the art-read-barrier build turn green again.

Bug: 25838574
Change-Id: Ibfcdeb41572580c0e22b7688879e4b8b1cdb68e1
ec4d1601a77b3f99c7b7eb89625862e6fb23a8c0 25-Nov-2015 Shubham Ajmera <shubhamajmera@google.com> Enabled 070-nio-buffer

Partially reverted CL - 818175, after adding backing array to
DirectByteBuffers. CLs - 818965, 818966, 818967, 818968.

Bug: 25759499
Change-Id: I6663add29349df51819a104b7d9eed6dae2e7519
e44bf3e496e69864a779b2dc165c3cf8c1f21dac 23-Nov-2015 Narayan Kamath <narayan@google.com> Disable 070-nio-buffer and 955-lambda-smali.

bug: 25835841
bug: 25759499
Change-Id: I393c12788182b62df011dc33f25e785923ae1896
d7b3c7f0044bc5d120cd6d516866ab399489b4e7 18-Nov-2015 Narayan Kamath <narayan@google.com> Rename native library.

Change-Id: I3b89059a91ebb70ee5007a03d5dd237f6bff1251
636b9252af8d8848dbf8f30b7e9638867b62c791 01-Aug-2015 Mingyao Yang <mingyao@google.com> Support deoptimization only to set vreg

This CL removes the old API that was used to update vreg. We now rely
exclusively on deoptimization to change the value of a vreg (mainly
from the debugger). This allows to have only one mechanism working
with both Quick and Optimizing compilers. It also remove run-test
455-set-vreg which was the only user of the old API.

This CL also renames StackVisitor::SetVReg[Pair]FromDebugger to
StackVisitor::SetVReg[Pair] to reflect that change.

Bug: 25428216
Change-Id: Ib09510185280dbd0f6d02c52549ae9671c187e32
67ef2c9d9bd8cbb3bc33903d98bc1617b94ea850 16-Nov-2015 Narayan Kamath <narayan@google.com> Add libxxavacore to the list of run-test dependencies.

Change-Id: I74978454d37a029008e51157a4de37851873c9ec
0d5a281c671444bfa75d63caf1427a8c0e6e1177 13-Nov-2015 Roland Levillain <rpl@google.com> x86/x86-64 read barrier support for concurrent GC in Optimizing.

This first implementation uses slow paths to instrument heap
reference loads and GC root loads for the concurrent copying
collector, respectively calling the artReadBarrierSlow and
artReadBarrierForRootSlow (new) runtime entry points.

Notes:
- This implementation does not instrument HInvokeVirtual
nor HInvokeInterface instructions (for class reference
loads), as the corresponding read barriers are not stricly
required with the current concurrent copying collector.
- Intrinsics which may eventually call (on slow path) are
disabled when read barriers are enabled, as the current
slow path infrastructure does not support this case.
- When read barriers are enabled, the code generated for a
HArraySet instruction always go into the array set slow
path for object arrays (delegating the operation to the
runtime), as we are lacking a mechanism to keep a
temporary register live accross a runtime call (needed for
the instrumentation of type checking code, which requires
two successive read barriers).

Bug: 12687968
Change-Id: I14cd6107233c326389120336f93955b28ffbb329
c07d66d816924bf97fa97192c23670010e775a3c 13-Nov-2015 Alex Light <allight@google.com> Add ability to skip run-tests with ART_TEST_RUN_TEST_SKIP.

One can skip running specific run-tests under any configuration by
setting the ART_TEST_RUN_TEST_SKIP variable to a list of the run-test
names to skip.

$ # None of the variants of 022-interfaces will be run.
$ ART_TEST_RUN_TEST_SKIP=022-interface mm test-art-host-run-test

Change-Id: I33f24dd7f1eb9f4d6dc407a4abc3c5919437d4fa
04302dbb106d590ff72c0dfecda23d85b6565059 12-Nov-2015 Hiroshi Yamauchi <yamauchi@google.com> Fix class unloading with the CC collector.

Avoid unnecessarily decoding dex cache and class loader weak roots,
which would trigger read barriers.

Re-enable 141-class-unload with the CC collector.

Bug: 12687968
Bug: 24468364
Change-Id: Ib4c19f25000873cab0e06047040442d135285745
9b0f516d3da1dfe10471ab760edc8206809ce829 13-Nov-2015 Alex Light <allight@google.com> Disable test 964 with gcstress since it often times out.

Change-Id: Ice9b25d373b849d4415f9189fe94d8ccd6d05cbe
273baec7052ef202460f72436f5a2a3861088ec5 12-Nov-2015 Alex Light <allight@google.com> Make test 968's name shorter

It was causing intermittent CI breaks due to the long name of the
generated oat file.

Change-Id: I71b4b3aa1a13df2696b276998cafe40006d54b66
9139e008abe30b7beaf4afd6533228a1dd9b202c 10-Oct-2015 Alex Light <allight@google.com> Correct exception behavior for default methods

Default methods are defined to throw an IncompatibleClassChangeError
(ICCE) when they are called and there is no "best" implementation.
Previously we would simply throw an ICCE during class loading as soon
as we noticed that this would happen if called. This makes us wait
until we actually attempt to execute the method. Furthermore, this
allows us to use other, non-conflicting, methods on the object as
normal.

Furthermore, this makes us correctly throw AbstractMethodErrors in
cases where all default implementations of a method are overridden by
abstract declarations.

Adds 3 tests for this new behavior.

Bug: 24618811

Change-Id: Id891958a81f9b3862b2ce5919636aabef7d3422e
daf11eb74a40a5a946449b280a2c46a3d422ce8a 09-Nov-2015 Nicolas Geoffray <ngeoffray@google.com> Revert "Revert "Revert "Use Jack lang dev version for compiling art tests"""

Breaks 962 and 963 run-tests.

This reverts commit a6017d8fa6acfa35f6fad8169162f0e5bd034bc4.

Change-Id: I185e803640309f0055e6a3d767da201527b523e2
a6017d8fa6acfa35f6fad8169162f0e5bd034bc4 06-Nov-2015 Alex Light <allight@google.com> Revert "Revert "Use Jack lang dev version for compiling art tests""

This reverts commit a5a79b6607471371bb80ff8fee36dbf05c807ee5.

Change-Id: Ie890882c1c344099fbf58abce022b2815e809e78
a5a79b6607471371bb80ff8fee36dbf05c807ee5 05-Nov-2015 Nicolas Geoffray <ngeoffray@google.com> Revert "Use Jack lang dev version for compiling art tests"

Tests fail.

This reverts commit 55fed87ff8b60d55589ee7df75b5080b17bce541.

Change-Id: I02c064c6774d72bc1349dbaab4d05ef69c537952
55fed87ff8b60d55589ee7df75b5080b17bce541 04-Nov-2015 Yohann Roussel <yroussel@google.com> Use Jack lang dev version for compiling art tests

Change-Id: Iada2d3919d5c5b5b4d32a607d9cddb89dad49648
934808feba1a56114cb48ee71c4ad1b9a63a3f84 03-Nov-2015 Pavle Batuta <pavle.batuta@imgtec.com> Fix mips32oc ArraySet null constant assignment

Fix assigning a null constant to an array index. Previously this
would unnecessarily invoke pAputObject.

This commit fixes previous test failure: 521-checker-array-set-null.

Change-Id: I02ff5296fa3a48b021c0dfd9bb10628ba6e5d5e5
91de25fd88ed755be5d72db80c93da364d97e16f 29-Oct-2015 Alex Light <allight@google.com> Make things generally quieter.

* Give run-test a --quiet flag that causes it to only print on errors.
* Give cpplint a --quiet flag that causes it to not print anything
when there are no errors.
* Add a ART_TEST_QUIET flag to build/Android.common_test.mk which
makes run-test targets much quieter when true (the default). With
this flag only failures will be printed.
* Make build/Android.cpplint.mk pass the new cpplint --quiet flag so
that only failures will be printed.

Before:
[ 96% 5715/5906] build test-art-host-run-test-debug-prebuild-interpreter-relocate-ntrace-cms-checkjni-image-npictest-ndebuggable-461-get-reference-vreg32
test-art-host-run-test-debug-prebuild-interpreter-relocate-ntrace-cms-checkjni-image-npictest-ndebuggable-448-multiple-returns32 RUNNING
/usr/local/google/buildbot/src/googleplex-android/master-art-host/art/test/448-multiple-returns: building...
/usr/local/google/buildbot/src/googleplex-android/master-art-host/art/test/448-multiple-returns: running...
/usr/local/google/buildbot/src/googleplex-android/master-art-host/art/test/448-multiple-returns: succeeded!
test-art-host-run-test-debug-prebuild-interpreter-relocate-ntrace-cms-checkjni-image-npictest-ndebuggable-448-multiple-returns32 PASSED

After:
[ 96% 5715/5906] build test-art-host-run-test-debug-prebuild-interpreter-relocate-ntrace-cms-checkjni-image-npictest-ndebuggable-461-get-reference-vreg32

Change-Id: Idf6fce7f48a619f83254b48861dbd7f8eb4ebdbf
75969963213c39a029e01c3b9440fb388d793afb 27-Oct-2015 Goran Jakovljevic <Goran.Jakovljevic@imgtec.com> MIPS32: Move code from RA to T9 in longjump

Do not use the return address. It should not be clobbered as we
may need it, e.g., for single-frame deopt.

This fixes following tests:
* 449-checker-bce
* 534-checker-bce-deoptimization
* 535-deopt-and-inlining

Change-Id: Ic94a2897c7336da094a8937ab1bc4a02a680de53
85f645dddc2e15c223405fad44bd2e78c07e3dc8 26-Oct-2015 Goran Jakovljevic <Goran.Jakovljevic@imgtec.com> MIPS32: Remove tests from list of broken tests

These tests are passing after the optimizing compiler is enabled.

Change-Id: Ib203c48532f2557bfec9325456f3b19d460ba047
30486987cf93ef76a725a5761c5153c230e9079e 21-Jul-2015 Yohann Roussel <yroussel@google.com> Fix art-run-tests dependencies

Their classpath dependency was missing

(cherry picked from commit 6c8d5962573e2df393594bbcee80d07f16edafe3)

Change-Id: Id4f489c140585c62b6c105533b97837612c6199c
4d3a8beb74c0135927f997ea19ee3b3ea86d613d 20-Oct-2015 Alex Light <allight@google.com> Fix typos.

Change-Id: Ie2198e3bb4b978c638de12db34547b4311d85eb5
8d148c969769be83fc24484c46be5a2f1e672a0e 20-Oct-2015 Alex Light <allight@google.com> Disable test 961-default-iface-resolution-generated with gcstress

The test takes too long with gcstress and can cause timeouts.

Change-Id: I99d16e882650ea73d07f4292fcfba0869f5b7ed1
80b37b7e679a530738c9bcbd39873b6dacf177e5 13-Oct-2015 Mathieu Chartier <mathieuc@google.com> Fix structural class checks

Enabled for debug builds to prevent bit rotting. Changed
DexFileAndClassPair to work with std::queue.

Re-enabled structural check tests.

Change-Id: Ia981564650bf1c7e418d8a73efcc15733ddf7501
dedcba2e42ddd8e1202abf50bbcdbe46d28daff3 14-Oct-2015 Alex Light <allight@google.com> Make the run-test makefile check if we have python3

It will only disable these tests if we do not to get better CI
coverage.

Change-Id: I850582a445b61dface961ed6cfa75187d22c4454
ec00b7e916aa4bec4abf27788b23b0fe274a086f 14-Oct-2015 Nicolas Geoffray <ngeoffray@google.com> Disable tests requiring python3 for dist builds.

go/art-buildbot bots do not have python3.

Change-Id: Id17a56bec0a12529b46a9fbaaefc59195c63a50a
305470479f98222d4cce661248ad946fde501380 08-Oct-2015 David Brazdil <dbrazdil@google.com> Mark a new Checker test broken for MIPS32

Change-Id: I6ecf41774326ad42d0b7c91f7bfad8047ce41260
a83a54d7f2322060f08480f8aabac5eb07268912 02-Oct-2015 Nicolas Geoffray <ngeoffray@google.com> Add support for intrinsic optimizations.

Change-Id: Ib5a4224022f9360e60c09a19ac8642270a7f3b64
d26101cf85e5dbc1308094c650e0ccef8b0797ad 06-Oct-2015 Mathieu Chartier <mathieuc@google.com> Disable class unloading test for CC

Test is flaky for now.

Bug: 22720414
Bug: 24468364
Change-Id: I5d9a7468e17b64522929ae2f7ca469680b8dced2
7778b880b9cf46fe7a303b11477bd92b5cf65316 06-Oct-2015 Mathieu Chartier <mathieuc@google.com> Disable class unloading when tracing is active

Tracing keeps a lot of pointers to ArtMethods that could belong to
classes that we are going to unload. A quick fix for this is to
disable class unloading when tracing is active.

Bug: 24414774
Bug: 22720414
Change-Id: Ia5619cbd7c9fd558eaa2a5000871d287213c4a76
409e80901468f6c746eeae5c6e93ceedf1d8c711 01-Oct-2015 Nicolas Geoffray <ngeoffray@google.com> Don't force the boot image to using quick.

Instead, put the debuggable flag.

Also, remove obsolete ART_USE_OPTIMIZING_COMPILER environment
variable.

Change-Id: Idde00da0d063aa461faa0308134f3b420de9fe0a
bac76b4fa66c389e37b37676f2fd5229333075bd 01-Oct-2015 David Brazdil <dbrazdil@google.com> Mark one more Checker test broken for mips32

Change-Id: I5289e91ff4b8bc530530eef000091c52f96fcc45
73b6cdf10b9052d1e06d9c9c26fb424a201878f5 30-Sep-2015 David Brazdil <dbrazdil@google.com> ART: Mark Checker tests broken for mips32

We don't have a mips32 backend at the moment, so there is no graph
dump to run Checker on.

Change-Id: I9c90b93811aa7bbc849575ac1836c2d85da7e9ac
1920c1036ebe6dcdc93959714c9fdcedc199baf0 29-Sep-2015 Nicolas Geoffray <ngeoffray@google.com> Revert "Revert "Enable optimizations with --debuggable.""

This reverts commit b7d27a53cb280a943c0a63a9e0806cf8e3ae4cde.

Change-Id: I398c23863e4fd86a3112076417378d22efd08306
b7d27a53cb280a943c0a63a9e0806cf8e3ae4cde 29-Sep-2015 Nicolas Geoffray <ngeoffray@google.com> Revert "Enable optimizations with --debuggable."

Build error with gcc.

This reverts commit 43855ccb01703b188777fe59e1110e6a23803171.

Change-Id: I45abc7ee0943b2ad7bd644c88858891fc7a38ead
43855ccb01703b188777fe59e1110e6a23803171 29-Sep-2015 Nicolas Geoffray <ngeoffray@google.com> Enable optimizations with --debuggable.

Change-Id: I8979e59ee081222687fda1c93ac0bf3acbbad936
42fbf491ff231f0c956665d764c6c88c5b0edbd1 26-Sep-2015 Mathieu Chartier <mathieuc@google.com> Disable class unloading test for tracing tests

Temporary fix.

Bug: 24414774
Change-Id: I6f04d6b3bb7eafa009391f46fe16cf2f363e0d70
8a159fdc17d478b2a3e49705045e51ab19842a34 22-Sep-2015 Andreas Gampe <agampe@google.com> ART: Use JIT image for JIT run tests

Don't use interpreter image anymore. That was a stop-gap measure.

Change-Id: If4b43bc20026b1ed89e59690fe35771746e354e6
031768a340634e2dbdec1aebb2bb3fe509b2f1f6 27-Aug-2015 Mathieu Chartier <mathieuc@google.com> Add non debug version of libarttest

We now pass the libarttest as an argument to the java program. This
enables using libarttestd by default and libarttest when -O is
specified.

Change-Id: I0de1ae01e2bb5f7b9c7fd7487b6cb55051f60657
4d2ef33723c1d7df269ee82cdfac98e59d95b53d 05-Aug-2015 Andreas Gampe <agampe@google.com> ART: Extend ISA features option for (host) run tests

To allow to test advanced intrinsics only available on (fairly)
modern processors, and because our build requirements are still
too low to enable them in the build system, pipe through the
existing make variables to the run-tests to allow to override
the dex2oat autodetection scheme.

Usage (standalone run-test): use the new --instruction-set-features
command line parameter to set the value for dex2oat (in the prebuild
configuration) or as an -Xcompiler-option (for no-prebuild). Note:
this is general and also works for target tests.

Usage (through make): set DEX2OAT_HOST_INSTRUCTION_SET_FEATURES and
2ND_DEX2OAT_HOST_INSTRUCTION_SET_FEATURES to set instruction set
features, as was possible before for the compilation of core files.
This option is now forwarded to host run-tests.

Change-Id: I9d89c82b6a5c8853748e5d1c153dde5d4050757a
825570c844b447beabfc7497d04fbd61c69cf28b 26-Jul-2015 Andreas Gampe <agampe@google.com> ART: Abbreviate interpreter-access-checks

Tag is too long.

Change-Id: I49febb97cec1172bcf06438fe8e0605f266e3fde
222223a00461031c30fabe202db09cae9fd828e2 24-Jul-2015 Igor Murashkin <iam@google.com> Revert "runtest: Have gcstress tests skip 955-lambda-smali"

This reverts commit ef3119e6c75c431d9cf54e92dfe5b805597b1657.
ef3119e6c75c431d9cf54e92dfe5b805597b1657 23-Jul-2015 Igor Murashkin <iam@google.com> runtest: Have gcstress tests skip 955-lambda-smali

This prevents the test from failing due to a timeout (temporarily).

Bug: 22665783
Change-Id: I978786ba2f94de8f13e32718a16e6909820dab51
6c8d5962573e2df393594bbcee80d07f16edafe3 21-Jul-2015 Yohann Roussel <yroussel@google.com> Fix art-run-tests dependencies

Their classpath dependency was missing

Change-Id: I38f4667723a41d5c6ceb5b4ee6f5cf1f06405145
40bceaffc7b15c8a87f78e86a8f58d98fad26c14 21-Jul-2015 Yohann Roussel <yroussel@google.com> Revert "Fix art-run-tests dependencies"

This reverts commit 2a39d9c50d2fa3f078bc1edfedac2cb6995f8d3e.

Change-Id: I06ae1644a6fe58d7f85ab77e0b5b23cef4ad8002
2a39d9c50d2fa3f078bc1edfedac2cb6995f8d3e 21-Jul-2015 Yohann Roussel <yroussel@google.com> Fix art-run-tests dependencies

Their classpath dependency was missing

Change-Id: I1e9386c2f25e8a108872bebcf8302fd17dff7018
7617abdb402fd0419daa3eefb2ad059ccbb8b6db 11-Jul-2015 Igor Murashkin <iam@google.com> runtime: Add -Xverify:softfail and ART_TEST_INTERPRETER_ACCESS_CHECKS

Use ART_TEST_INTERPRETER_ACCESS_CHECKS=true to run all the tests through
the interpreter with access checks enabled. The normal interpreter tests
do not currently enable access checks, which means that a large part of
the interpreter codebase is untested.

The verifier will force every class into a soft fail mode if
-Xverify:softfail is used, thereby ensuring that if used along with the
interpreter (-Xint) that the interpret is always in access checks mode.

This is used alongside with --compile-filter=verify-at-runtime to
prevent the AOT compiler from putting down any code.

Change-Id: I35a10ed8c43d76fa96133cf01fdad497da387200
d139bb7d1c4b86dd1d05eed32defdf7d5f7aa299 15-Jul-2015 Roland Levillain <rpl@google.com> Fix the documentation of all-run-test-names.

Change-Id: I160f57bb2244a79e5eaf5e87b9f0ac94747adcd1
093f1b4c3007d52a75186175d184ad7f58aaa0df 14-Jul-2015 Hiroshi Yamauchi <yamauchi@google.com> Add ART_TEST_DEBUG_GC to help with debugging gc.

ART_TEST_DEBUG_GC is meant to be used to easily set the GC
configuration to the one that currently needs debugging in a
continuous test.

Bug: 19894268
Change-Id: I566e44360fc4cd47b3448e194cc8c16c9f498b7f
1d4184d65dc199a5ba720245632493b7520d9edf 14-Jul-2015 Hiroshi Yamauchi <yamauchi@google.com> Add an option to run art tests with strace.

Bug: 19894268
Change-Id: I0a315a30e4e7d6d497b21205dc2a2b18b2170328
811cfddf464a89892543f1c8c7389b8dac81ae74 13-Jul-2015 Roland Levillain <rpl@google.com> Re-enable run-test 449-checker-bce on MIPS64.

(cherry picked from commit c3f73f788a2f46e4007433bd3ed3dce64e2f5f33)

Bug: 21555893
Change-Id: I92e11637cc1f8f694e4d4138512cbcf47e22a249
c3f73f788a2f46e4007433bd3ed3dce64e2f5f33 13-Jul-2015 Roland Levillain <rpl@google.com> Re-enable run-test 449-checker-bce on MIPS64.

Bug: 21555893
Change-Id: I92e11637cc1f8f694e4d4138512cbcf47e22a249
5ee9454dfee08a70dec62b0ed0fd4ad274274937 24-Feb-2015 Sebastien Hertz <shertz@google.com> Support compiling run-tests with jack

This CL adds support to compile run-test source files with jack. When
a test needs to rely on class files, we use jill to convert them to a
jack library.

We need to pass the full classpath to jack containing at least core
classes (like java.lang.Object). This means the Android tree must
have been compiled with jack first so we find all the necessary
classes.jack files.

Some tests still rely on dex files generated with the old toolchain.
We keep building them this way for the moment and will update them
later, when they get ready for Jack.

Also updates a few tests dealing with garbage collection to avoid a
situation where a reference can be retained by a local DEX register.

Bug: 19467889

(cherry picked from commit 19ac0276208f0afef6ba8a4ab34b74a59b8d11d7)

Change-Id: Ia5a989b83430ffe8298a869a1da970b756721bb0
19ac0276208f0afef6ba8a4ab34b74a59b8d11d7 24-Feb-2015 Sebastien Hertz <shertz@google.com> Support compiling run-tests with jack

This CL adds support to compile run-test source files with jack. When
a test needs to rely on class files, we use jill to convert them to a
jack library.

We need to pass the full classpath to jack containing at least core
classes (like java.lang.Object). This means the Android tree must
have been compiled with jack first so we find all the necessary
classes.jack files.

Some tests still rely on dex files generated with the old toolchain.
We keep building them this way for the moment and will update them
later, when they get ready for Jack.

Also updates a few tests dealing with garbage collection to avoid a
situation where a reference can be retained by a local DEX register.

Bug: 19467889
Change-Id: I9eedd0705d1186d28a2acd37ea42a1762cd0ace2
ccbbda2b716bcc0dd9ad7b6c7bf9079efa3fca23 03-Jul-2015 Douglas Leung <douglas.leung@imgtec.com> Add implicit null pointer and stack overflow checks for Mips.

(cherry picked from commit 22bb5a2ebc1e2724179faf4660b2735dcb185f21)

Bug: 21555893
Change-Id: I2a995be128a5603d08753c14956dd8c8240ac63c
22bb5a2ebc1e2724179faf4660b2735dcb185f21 03-Jul-2015 Douglas Leung <douglas.leung@imgtec.com> Add implicit null pointer and stack overflow checks for Mips.

Bug: 21555893
Change-Id: I2a995be128a5603d08753c14956dd8c8240ac63c
4d02711ea578dbb789abb30cbaf12f9926e13d81 01-Jul-2015 Roland Levillain <rpl@google.com> Implement heap poisoning in ART's Optimizing compiler.

- Instrument ARM, ARM64, x86 and x86-64 code generators.
- Note: To turn heap poisoning on in Optimizing, set the
environment variable `ART_HEAP_POISONING' to "true"
before compiling ART.

Bug: 12687968
Change-Id: Ib3120b38cf805a8a50207a314b9ccc90c8d93740
eb19362bae3dc12275c1a3b3aff20e9e8965ead8 28-Jun-2015 Mathieu Chartier <mathieuc@google.com> Change ART_TEST_GC_STRESS to use new gcstress mode

Enable new gcstress mode that checks at each allocation site
(with some tracking of stack traces to only do one check per
unique site).

Disable 137-cfi for gcstress, as it's sleeping to "synchronize"
with a forked process, which doesn't work with the slower mode.

Bug: 22014525
Change-Id: Ife70308e45b04f5d97267b4d98f8c75fa96492a1
7526d783ab68ed1dd53c763c75895cb432532b0f 23-Jun-2015 Andreas Gampe <agampe@google.com> ART: Fix streaming tracing issues

Fix a lock ordering issue in streaming-mode tracing.

Fix a moving-GC issue in streaming-mode tracing. DexCache
objects are not good keys for a map.

Expose streaming mode for testing in run-tests.

Bug: 21760614

(cherry picked from commit b91205e40fe692061edde19ecb87d51414a7fcee)

Change-Id: Idcd0575684ee3cc0cec3f81b4fdd0d5988c11e8c
b91205e40fe692061edde19ecb87d51414a7fcee 23-Jun-2015 Andreas Gampe <agampe@google.com> ART: Fix streaming tracing issues

Fix a lock ordering issue in streaming-mode tracing.

Fix a moving-GC issue in streaming-mode tracing. DexCache
objects are not good keys for a map.

Expose streaming mode for testing in run-tests.

Bug: 21760614
Change-Id: Idcd0575684ee3cc0cec3f81b4fdd0d5988c11e8c
a1935c4fa255b5c20f5e9b2abce6be2d0f7cb0a8 26-Jun-2015 Roland Levillain <rpl@google.com> MIPS: Initial version of optimizing compiler for MIPS64R6.

(cherry picked from commit 4dda3376b71209fae07f5c3c8ac3eb4b54207aa8)
(amended for mnc-dev)

Bug: 21555893
Change-Id: I874dc356eee6ab061a32f8f3df5f8ac3a4ab7dcf
Signed-off-by: Alexey Frunze <Alexey.Frunze@imgtec.com>
Signed-off-by: Douglas Leung <douglas.leung@imgtec.com>
42c3c33df8b6eefc4ba532f1981282510f109928 24-Jun-2015 Man Cao <manc@google.com> Make allocation tracker use less memory

The allocation tracker no longer keeps recently allocated objects live.
Instead it just keeps their class objects live as strong roots. This fixed
the gc-stress test failure for 098-ddmc.

Also fixed the issue in DisableNewSystemWeak() for allocation tracker,
by making new allocation to wait until GC's sweeping to complete. I didn't
feel any significant slowdown with this wait.

Bug: 20037135
Change-Id: I6a98188832cf7ee478007e3788e742dc6e18f7b8
1ed11b9ad5512cf464cb1686640df53201fa5297 12-Jun-2015 Man Cao <manc@google.com> Restore DDMS recent allocation tracking's behavior

Make the allocation tracker mark recently allocated objects as roots,
so the allocation records are not swept. Because DDMS needs recent
allocation tracking records even for dead objects. This should fix
the flaky failures for 098-ddmc test, but it cannot pass GC stress
test (OOM). Re-enabled 098-ddmc for other tests.

There should be an option to not mark them as roots, when user only
needs HPROF dump with traces but not DDMS's recent allocation tracking.
Probably need to add a new JNI API function for this option.

There could be another way to keep a second list of recent allocation
records and maintain a type cache for them, so not to make the objects
roots. But it's more complex, and not sure which is better.

Also reduce memory usage for AllocRecordStackTrace objects, and change
default stack depth to 16. Rename the property that controls the stack
depth to "debug.allocTracker.maxStackDepth" so developer can change it.

Bug:20037135
Change-Id: Ic6b9ae87bdcda558be6f14ded8057e763439881c
4dda3376b71209fae07f5c3c8ac3eb4b54207aa8 02-Jun-2015 Alexey Frunze <Alexey.Frunze@imgtec.com> MIPS: Initial version of optimizing compiler for MIPS64R6.

Bug: 21555893
Change-Id: I874dc356eee6ab061a32f8f3df5f8ac3a4ab7dcf
Signed-off-by: Alexey Frunze <Alexey.Frunze@imgtec.com>
Signed-off-by: Douglas Leung <douglas.leung@imgtec.com>
a26cb57f46fd3f27a930d9d688fe8670c1f24754 23-Apr-2015 David Srbecky <dsrbecky@google.com> ART stack unwinding fixes for libunwind/gdb/lldb.

dex2oat can already generate unwinding and symbol information which
allows tools to create backtrace of mixed native and Java code.

This is a cherry pick from aosp/master which fixes several issues.
Most notably:
* It enables generation of ELF-64 on 64-bit systems (in dex2oat, C
compilers already produce ELF-64). Libunwind requires ELF-64 on
64-bit systems for backtraces to work.
* It enables loading of ELF files with dlopen. This is required for
libunwind to be able to generate backtrace of current process (i.e.
the process requesting backtrace of itself).
* It adds unit test to test the above (32 vs 64 bit, in-proces vs
out-of-process, application code vs framework code).
* Some other fixes or clean-ups which should not be of much
significance but which are easier to include to make the
important CLs cherry-pick cleanly.

This is squash of the following commits from aosp/master:
7381010 ART: CFI Test
e1bbed2 ART: Blacklist CFI test for non-compiled run-tests
aab9f73 ART: Blacklist CFI test for JIT
4437219 ART: Blacklist CFI test for Heap Poisoning
a3a49fe Switch to using ELF-64 for 64-bit architectures.
297ed22 Write 64-bit address in DWARF if we are on 64-bit architecture.
24981a1 Set correct size of PT_PHDR ELF segment.
1a146bf Link .dynamic to .dynstr
67a0653 Make some parts of ELF more (pointer) aligned.
f50fa82 Enable 64-bit CFI tests.
49e1fab Use dlopen to load oat files.
5dedb80 Add more logging output for dlopen.
aa03870 Find the dlopened file using address rather than file path.
82e73dc Release dummy MemMaps corresponding to dlopen.
5c40961 Test that we can unwind framework code.
020c543 Add more log output to the CFI test.
88da3b0 ART: Fix CFI test wrt/ PIC
a70e5b9 CFI test: kill the other process in native code.
ad5fa8c Support generation of CFI in .debug_frame format.
90688ae Fix build - large frame size of ElfWriterQuick<ElfTypes>::Write.
97dabb7 Fix build breakage in dwarf_test.
388d286 Generate just single ARM mapping symbol.
f898087 Split .oat_patches to multiple sections.
491a7fe Fix build - large frame size of ElfWriterQuick<ElfTypes>::Write (again).
8363c77 Add --generate-debug-info flag and remove the other two flags.
461d72a Generate debug info for core.oat files.

Bug: 21924613
Change-Id: I3f944a08dd2ed1df4d8a807da4fee423fdd35eb7
07785bb98dc8bbe192970e0f4c2cafd338a8dc68 15-Jun-2015 Vladimir Marko <vmarko@google.com> ART: Fix reporting initialized classes by CompilerDriver.

Fix a bug where the CompilerDriver was erroneously reporting
classes as initialized during AOT compilation when they were
not guaranteed to be initialized at runtime.

This fix prevents the Quick compiler from inlining calls to
static methods in classes that are not guaranteed to be
initialized, so that the runtime performs the initialization
required for correctness.

Bug: 21847756
Change-Id: I6fee5ef9c05c2e5190ab8a9fe61365d5119011c5
32c9ea5c03b1b22f36233ec6c24eca87c77f9157 12-Jun-2015 Nicolas Geoffray <ngeoffray@google.com> Use the caller's class loader when walking inlined frames.

We should not use the outer most class loader. JLS specification
is to use the caller's class loader.

Change-Id: I736f36c9b6a44fab213ad0c01cf1efc975b9b3a6
78f4fa74ae2d392ca9314b7ab25386d0e9a07cdb 12-Jun-2015 Nicolas Geoffray <ngeoffray@google.com> Preserve class loading semantics in optimizing.

We were being too agressive in removing HLoadClass instructions.
A HInvokeStaticOrDirect can only remove it if it's directly before it.

bug: 21711097
Change-Id: Id63502d90e11da60eccfb46daca62e0d5d022119
2b84d2b94bc973c1b1ed0af3aeb441790af01124 12-Jun-2015 Nicolas Geoffray <ngeoffray@google.com> Don't run 098-ddmc, it's flaky.

Change-Id: I3fa559f84b2c3a1ce9b07b8d3a27723dc84b3a3e
0797e5890f0db2a95ad5be840f2999f51aeb731e 12-Jun-2015 Man Cao <manc@google.com> Skip 098-ddmc for GC stress test

And add comment about the temporary fix in 098-ddmc because of behavior
change for DDMS's getRecentAllocations().

Also fixed a buggy typo in Android.run-test.mk.

Bug: 20037135
Change-Id: Ia57e03f458d8570690616d2cc49f2ead42a96cb0
f50fa82c47115c95acb66b8a17362b6ae6bee0b6 09-Jun-2015 David Srbecky <dsrbecky@google.com> Enable 64-bit CFI tests.

Those should work now since we have switched to ELF-64.

Change-Id: Id95b8b309843b30864a860c745d16b50d7f88bda
69b5d8febe6dd552d427c106f3e3f8cf715206b0 04-Jun-2015 Andreas Gampe <agampe@google.com> Revert "Revert "Turn off duplicate-classes checking""

This reverts commit 18a1827a159f1b235f3fcc934f428059185f550e.

Bug: 21333911

(cherry picked from commit 0fc16a09b4d2323f9c2b6aabc81ce120b278329b)

Change-Id: I8cb96efbf7151b238f3ee137a938b20ddfaf0ebc
12768a0b8cd6d1fd4953e24cd84edfbc3d8a9d79 21-May-2015 Andreas Gampe <agampe@google.com> Revert "DO NOT MERGE ART: Turn off duplicate-classes checking"

This reverts commit aafcfca5fe545365ef377fff2897b8a908f03e71.

Bug: 21333911

(cherry picked from commit 18a1827a159f1b235f3fcc934f428059185f550e)

Change-Id: Ibbc6b1be8bebc1d0ab9c5955b34eb89f40577baa
fc3f39eafd4c27f5f616f309c9cbff80d88a48ed 20-May-2015 Andreas Gampe <agampe@google.com> DO NOT MERGE ART: Turn off duplicate-classes checking

Bug: 21333911

(cherry picked from commit aafcfca5fe545365ef377fff2897b8a908f03e71)

Change-Id: I9832526a6d2996aadb459e3ec0930cbaf151478a
0fc16a09b4d2323f9c2b6aabc81ce120b278329b 04-Jun-2015 Andreas Gampe <agampe@google.com> Revert "Revert "Turn off duplicate-classes checking""

This reverts commit 18a1827a159f1b235f3fcc934f428059185f550e.

Bug: 21333911
Change-Id: I8cb96efbf7151b238f3ee137a938b20ddfaf0ebc
5b3ee56cd63ee9e3c70c0412d044b81ab9c94513 14-Apr-2015 Roland Levillain <rpl@google.com> Delegate long-to-float type conversions to the runtime on ARM.

On ARM, translate long-to-float type conversions (from both
Quick and Optimizing) as calls to the runtime routine
art_l2f, instead of generating ad hoc code, so as to improve
the precision of the conversions.

Bug: 20413424
Change-Id: I8c414ee1c6f4ff1f32ee78f75734cfd3cf579f71
07f2bc1088039154ee10370989a7d4f37bc138ae 29-May-2015 Nicolas Geoffray <ngeoffray@google.com> Also add run-test dependencies to build-art-*-tests.

Change-Id: If02c1a9426c2d04f4fad8892e387b2fb6c48ee2f
18a1827a159f1b235f3fcc934f428059185f550e 21-May-2015 Andreas Gampe <agampe@google.com> Revert "DO NOT MERGE ART: Turn off duplicate-classes checking"

This reverts commit aafcfca5fe545365ef377fff2897b8a908f03e71.

Bug: 21333911
Change-Id: Ibbc6b1be8bebc1d0ab9c5955b34eb89f40577baa
4437219a6cffe2609eb3d31f4ce484ea3622fdf8 21-May-2015 Andreas Gampe <agampe@google.com> ART: Blacklist CFI test for Heap Poisoning

The test expects Java frames on the stack.

Change-Id: I19e7429f06fac107c2cf9f85325e8f071e5799fb
aab9f7394408327d8af9f2bec1b65b01e54ec107 20-May-2015 Andreas Gampe <agampe@google.com> ART: Blacklist CFI test for JIT

The test expects Java frames on the stack.

Change-Id: I485a7a2a3d15fb52c207bd8723bed3b01289c000
aafcfca5fe545365ef377fff2897b8a908f03e71 20-May-2015 Andreas Gampe <agampe@google.com> DO NOT MERGE ART: Turn off duplicate-classes checking

Bug: 21333911
Change-Id: I9832526a6d2996aadb459e3ec0930cbaf151478a
82566091466b5b3f529168681ecfe3e739ef08b5 19-May-2015 Andreas Gampe <agampe@google.com> ART: Fix RegisterNative order

First check for both direct and virtual methods in the current class,
then move to the parent.

Optimize registration by checking first whether the current method
under test is native. This slows down registering implementations
in parent classes. Add a CheckJNI warning for this.

Add a run-test to check the behavior. Fix host comparison testing.

Bug: 19569721

(cherry picked from commit 3f1dc56914177993b1b018bf21ce7d39d7feecda)

Change-Id: I61e77117d96310632aad123d7f1279d0f834dc99
3f1dc56914177993b1b018bf21ce7d39d7feecda 19-May-2015 Andreas Gampe <agampe@google.com> ART: Fix RegisterNative order

First check for both direct and virtual methods in the current class,
then move to the parent.

Optimize registration by checking first whether the current method
under test is native. This slows down registering implementations
in parent classes. Add a CheckJNI warning for this.

Add a run-test to check the behavior. Fix host comparison testing.

Bug: 19569721
Change-Id: I61e77117d96310632aad123d7f1279d0f834dc99
e1bbed21f1f442a047a4035516e067be484d8c47 20-May-2015 Andreas Gampe <agampe@google.com> ART: Blacklist CFI test for non-compiled run-tests

The test expects Java frames on the stack.

Change-Id: I37914ad6a3c82264ee189492611469928a786f67
7381010d4ea299f1aaf7c86e93341d12f5e9d2c4 23-Apr-2015 Andreas Gampe <agampe@google.com> ART: CFI Test

Add a run-test that unwinds the process and a forked
process to see whether CFI information is enough
to see Java methods.

In-process unwinding is turned off for now, as it
requires dlopen for oat files.

Black-listed for 64-bit, as libunwind expects 64-bit
ELF files.

Change-Id: I9fe53e448b6cb2ea3d516526c42596dcc2446d98
983f1b2f1c208dea51f9175308df4b199553d796 12-May-2015 Hiroshi Yamauchi <yamauchi@google.com> Re-enable 098-ddmc for the read barrier config.

Bug: 20720510
Bug: 12687968
Change-Id: I6e5c61a88bfce15231c1476bc0edc28ae53d081f
1d85823d122b475bdf67cc49aa9eee32736fd5b1 05-May-2015 Hiroshi Yamauchi <yamauchi@google.com> Temporarily suppress 098-ddmc for the read barrier config.

Bug: 20720510
Change-Id: Ie8c159767654837c02f0484f4dda569bb0118a03
702d26018769f9fbc4763c7ed02331aed596ac7d 30-Apr-2015 Calin Juravle <calin@google.com> Skip compilation when falling-through out of method code.

Bug: 19988134
Change-Id: I68638ce9551848a67af587595f264b51f976df11
5c8bb7e630b8080702325ec1ef6ccb2deefcd220 29-Apr-2015 Nicolas Geoffray <ngeoffray@google.com> Bugs have been fixed, so run the tests.

Change-Id: I6769cf244d246160b65d6dd4e4df0efb0aa8a7e5
22c2d74f4c641feaf22a520d2a0538b31a82239d 07-Apr-2015 Calin Juravle <calin@google.com> Quick: Fix crash on fall-through out of method code.

Fix Quick crash when the last insn has a fall-through out of
the method's code. Allow creation of an out-of-method block
and at the end of MIRGraph::InlineMethod() check if that
block is reachable. If it is, punt to interpreter. Add tests
for unreachable if-lt and packed-switch as the last insn.

Also fix MIRGraph::ProcessCanSwitch() to treat the offset to
the data as signed. Jumping over the data with a goto and
using it from a switch further down is valid. This was also
crashing (presumably only on 64-bit dex2oat).

Thanks to Stephen Kyle (stephenckyle@googlemail.com) for the
bug report.

Bug: 19988134

(cherry picked from commit 2bee20b5f0d783b43c1bbbe281f69a6f9b9e0a98)

Change-Id: I8cff7105a66aeb79a91689c3adb216f61ab57e40
2bee20b5f0d783b43c1bbbe281f69a6f9b9e0a98 07-Apr-2015 Calin Juravle <calin@google.com> Quick: Fix crash on fall-through out of method code.

Fix Quick crash when the last insn has a fall-through out of
the method's code. Allow creation of an out-of-method block
and at the end of MIRGraph::InlineMethod() check if that
block is reachable. If it is, punt to interpreter. Add tests
for unreachable if-lt and packed-switch as the last insn.

Also fix MIRGraph::ProcessCanSwitch() to treat the offset to
the data as signed. Jumping over the data with a goto and
using it from a switch further down is valid. This was also
crashing (presumably only on 64-bit dex2oat).

Thanks to Stephen Kyle (stephenckyle@googlemail.com) for the
bug report.

Bug: 19988134
Change-Id: I627f4137f61901897bfb9a5252741c6ded3a1adb
94329d31d2a99c9aff889b88ba4b675135409b82 25-Apr-2015 Andreas Gampe <agampe@google.com> ART: Duplicate-classes cleanup

Disable old test. Improve collision warning message. Add a comment
about the algorithm.

Change-Id: Ibd29d79565732162150aebd7fe08d0895ccf3d79
b9aec2ccd8b9f39a4ddadde5ca8304cea6b1b188 24-Apr-2015 Andreas Gampe <agampe@google.com> ART: Check for duplicate classes when loading oat files

Oat files are usually produced standalone, and the compilers take
advantage of any information they get. It is thus possible that
when compile-time and runtime class-path are not the same, classes
are resolved differently and optimized code is incorrect.

This is a very conservative check, scanning the complete class tables
of dex files. In case any duplicate class is found, the new oat file
will be rejected and the original dex files will be used in interpreted
mode.

A possible refinement to this is actual tracking of the compile-time
class-path instead. That is however significantly complicated by the
DexFile API and the non-standard uses it allows.

An alternative for both optimized code and correct resolution is
native multidex. Apps should switch to multidex and benefit from
the optimization as well as the shift of all compile time to install
time. Split APKs are currently compiled separately, but it is a goal
to change that install flow to simulated multidex.

Change-Id: Ib9e0db5091e060e3bb2c0e5e6c007430becbfc21
0a025d276b0be004f68ff8cd68555bc2d9c53805 23-Apr-2015 Roland Levillain <rpl@google.com> Skip known broken tests for ARM back ends on ARM as second arch.

Change-Id: Idbe4c26d8ffcd91882fe61f62c959cc27d1f28b1
232ade0b9401404ad4b61b1003551b58b96195a8 20-Apr-2015 Roland Levillain <rpl@google.com> Revert "Revert "Optimizing: Fix long-to-fp conversion on x86.""

This reverts commit 386ce406f150645158d6067c4e0a36565aefc44f.

Bug: 20413424
Change-Id: I6e93ff132907f2653f1ae12d6676ff2298f62ca1
d8126bef62df7f40f2e6abc74004f52e664daf45 27-Mar-2015 Nicolas Geoffray <ngeoffray@google.com> Fix locations at environment uses.

We were too agressive in not recording environment uses
when the instruction was not of type object. We have to
record the use to the use list of an interval, but it should
not affect the live ranges of that interval.

Change-Id: Id16fb7cc06f14083766d408a345837793583b6ea
1445dd3b3f47fcbdb722f74bcf5189249310a0b4 20-Mar-2015 Mathieu Chartier <mathieuc@google.com> Change "no-","no" test prefix to n

Reduces file names to under 255 characters, for now.

Change-Id: I095da02c1a3fc14fa9022d1a39307845bd870abc
a3d90fb449e2fba87211a7de323faff63cba41fc 16-Mar-2015 Nicolas Geoffray <ngeoffray@google.com> [optimizing] Use baseline when debuggable is set.

SSA form conflicts with JDWP's SetValue functionality. Because
we do not deopt all the call stack, we may call SetValue on a
compiled frame, which doesn't work with optimizing. Simplest
solution for now is to just use baseline.

Change-Id: I91738b363eec8fef145486bd96681aea73a1baa8
e50b8d23d69a0d1f4eee51d34870968cd49a6f7d 13-Mar-2015 Nicolas Geoffray <ngeoffray@google.com> Disable inlining in Optimizing when --debuggable is set.

Change-Id: I6365269e606e0c176e518c06719ebdaf6a4c4b88
915b9d0c13bb5091875d868fbfa551d7b65d7477 11-Mar-2015 Nicolas Geoffray <ngeoffray@google.com> Tweak liveness when instructions are used in environments.

Instructions remain live when debuggable, but only instructions
with object types remain live when non-debuggable.

Enable StackVisitor::GetThisObject for optimizing.

Change-Id: Id87b2cbf33a02450059acc9993995782e5f28987
234d69d075d1608f80adb647f7935077b62b6376 09-Mar-2015 Nicolas Geoffray <ngeoffray@google.com> Revert "Revert "[optimizing] Enable x86 long support.""

This reverts commit 154552e666347d41d95d7619c6ee56249ff4feca.

Change-Id: Idc726551c249a888b7ff5fde8508ae50e81b2e13
64d69ab01e2f7ef6d489b8b206f6e40bef1d02f4 10-Mar-2015 Nicolas Geoffray <ngeoffray@google.com> Test uses libart.so, so can't be run NDEBUG.

Change-Id: I22c7391e07a9d06a8ce9a4d23a21ba9f60bcfe64
e0fe7ae36180863e45cbb9d1e6e9c30b1b1a949c 09-Mar-2015 Nicolas Geoffray <ngeoffray@google.com> Make the SSA builder honor the debuggable flag.

This requires to properly type phis that are only
used by environments, and discard phis with incomptable types.
The code generators do not handle these conflicting types. In
the process, ensure a phi has a type that does not depend
on the order of the inputs (for example (char, short) -> short),
and set int for int-like types. We can refine this later.

Change-Id: I60ab601d6d00b1cbf18623ee4ff1795aa28f84a1
43c162f059e6463119aa1efd0841374ca7b4f789 09-Mar-2015 Nicolas Geoffray <ngeoffray@google.com> Revert "Revert "More Makefile fun for --debuggable.""

This reverts commit 9728a930fdf717cca60b48d9c2b715d0eed497fd.

Change-Id: Ieca964a793e58f11931f78f50be47a4a9f0dc21f
6aad0b72ffa7cffffe3ad394de916e700aecb49b 09-Mar-2015 Nicolas Geoffray <ngeoffray@google.com> Revert "Fix braino in Makefile."

This reverts commit 64657d2d840e5d4e6b4b71d5df6ee0fcc4a8afab.

Change-Id: I5b778027538a4247cf51eff338220328e741074f
9728a930fdf717cca60b48d9c2b715d0eed497fd 09-Mar-2015 Nicolas Geoffray <ngeoffray@google.com> Revert "More Makefile fun for --debuggable."

This reverts commit bd648cd3aef1ce82aaaa85924b1178a7f499cc29.

Change-Id: I9be508730dc5c25b9d08f914c5628e88bc4aa15b
64657d2d840e5d4e6b4b71d5df6ee0fcc4a8afab 09-Mar-2015 Nicolas Geoffray <ngeoffray@google.com> Fix braino in Makefile.

They are such a joy to work with.

Change-Id: I1a982c97fb9e2e9f34f921e7f6b481988a57f858
bd648cd3aef1ce82aaaa85924b1178a7f499cc29 06-Mar-2015 Nicolas Geoffray <ngeoffray@google.com> More Makefile fun for --debuggable.

Change-Id: Icd4a4cf53907bf04b0d45211e264c9985045b55c
d845fd0c8daa94c46c0dbdf0e6c023d5d7c0df04 03-Mar-2015 Nicolas Geoffray <ngeoffray@google.com> Tests use libarttest.so, so does not work on ndebug.

Change-Id: I0435e0a62592bd0f449bb52517efa9ac55ec8913
caa0a87185257b5d6f5a0771003d58fcbb9548f6 02-Mar-2015 Mathieu Chartier <mathieuc@google.com> Fix bad variable expansion

Bug: 19524713
Change-Id: I6537bc650e2690e5902576fd0e5a55142d91182a
e2a12c0504cdd75e27c9c6567ceebdc124d344d6 27-Feb-2015 Mathieu Chartier <mathieuc@google.com> Change JIT tests to use interpreter image

Bug: 19528920
Change-Id: I079cfcca7bb57e492c82a44f104e41228cb33b4f
3fc1b12a2308e39a0c9b1cdcf4eb0b5770081e51 26-Feb-2015 Mathieu Chartier <mathieuc@google.com> Add missing JIT stuff in make files

Was causing core.oat to not be created.

Bug: 19524713
Change-Id: I5da005fd36f9682623fdda9931280997b59c2681
e5f13e57ff8fa36342beb33830b3ec5942a61cca 24-Feb-2015 Mathieu Chartier <mathieuc@google.com> Revert "Revert "Add JIT""

Added missing EntryPointToCodePointer.

This reverts commit a5ca888d715cd0c6c421313211caa1928be3e399.

Change-Id: Ia74df0ef3a7babbdcb0466fd24da28e304e3f5af
a5ca888d715cd0c6c421313211caa1928be3e399 24-Feb-2015 Nicolas Geoffray <ngeoffray@google.com> Revert "Add JIT"

Sorry, run-test crashes on target:
0-05 12:15:51.633 I/DEBUG (27995): Abort message: 'art/runtime/mirror/art_method.cc:349] Check failed: PcIsWithinQuickCode(reinterpret_cast<uintptr_t>(code), pc) java.lang.Throwable java.lang.Throwable.fillInStackTrace() pc=71e3366b code=0x71e3362d size=ad000000'
10-05 12:15:51.633 I/DEBUG (27995): r0 00000000 r1 0000542b r2 00000006 r3 00000000
10-05 12:15:51.633 I/DEBUG (27995): r4 00000006 r5 b6f9addc r6 00000002 r7 0000010c
10-05 12:15:51.633 I/DEBUG (27995): r8 b63fe1e8 r9 be8e1418 sl b6427400 fp b63fcce0
10-05 12:15:51.633 I/DEBUG (27995): ip 0000542b sp be8e1358 lr b6e9a27b pc b6e9c280 cpsr 40070010
10-05 12:15:51.633 I/DEBUG (27995):

Bug: 17950037
This reverts commit 2535abe7d1fcdd0e6aca782b1f1932a703ed50a4.

Change-Id: I6f88849bc6f2befed0c0aaa0b7b2a08c967a83c3
2535abe7d1fcdd0e6aca782b1f1932a703ed50a4 17-Feb-2015 Mathieu Chartier <mathieuc@google.com> Add JIT

Currently disabled by default unless -Xjit is passed in.

The proposed JIT is a method JIT which works by utilizing interpreter
instrumentation to request compilation of hot methods async during
runtime.

JIT options:
-Xjit / -Xnojit
-Xjitcodecachesize:N
-Xjitthreshold:integervalue

The JIT has a shared copy of a compiler driver which is accessed
by worker threads to compile individual methods.

Added JIT code cache and data cache, currently sized at 2 MB
capacity by default. Most apps will only fill a small fraction of
this cache however.

Added support to the compiler for compiling interpreter quickened
byte codes.

Added test target ART_TEST_JIT=TRUE and --jit for run-test.

TODO:
Clean up code cache.
Delete compiled methods after they are added to code cache.
Add more optimizations related to runtime checks e.g. direct pointers
for invokes.
Add method recompilation.
Move instrumentation to DexFile to improve performance and reduce
memory usage.

Bug: 17950037

Change-Id: Ifa5b2684a2d5059ec5a5210733900aafa3c51bca
24e04aa68c575d349eac0d9d09aab9bd3106ef94 12-Sep-2014 Jean Christophe Beyler <jean.christophe.beyler@intel.com> ART: Allow the execution to stop if the compilation fails via an option

The current implementation continues the execution of the application if
dex2oat fails by relying on the interpreter.

This patch adds a -Xno-dex-file-fallback option to stop the default behavior.
This can be used two-fold.

First, one can enforce that a runtime only starts with a boot image. A
follow-up patch will ensure that dex2oat (for apps) and patchoat in general
request that mode and close gracefully otherwise.

Second, this can be used for testing and debugging purposes, as it ensures
that compiler failures & aborts are not silently ignored.

Add testing.

Bug: 19100590
Change-Id: Iaf07b5ccf00942ca8a8ec8687599320a3ddbc089
Signed-off-by: Jean Christophe Beyler <jean.christophe.beyler@intel.com>
9cb65bcea36aaabe00e39c061adf35727d251402 19-Feb-2015 Andreas Gampe <agampe@google.com> ART: Blacklist run-test 802 for tracing

When in tracing mode, the test is meaningless as it won't force
deoptimization.

Bug: 18713034
Change-Id: I8bf2861c2937c5da73e3d7642e638818d2544fa8
3ad5d5ea993376e7cae41ee6642d5e963822db84 04-Feb-2015 Andreas Gampe <agampe@google.com> ART: Fix old run scripts

The run scripts had not been updated when the central command script
was unified, so they were always choosing target mode.

Also update the run scripts so they abort when wrong options are
used.

Also strip superfluous whitespace from commands.

Change-Id: I13cc59f43734a86062fc3ce5ff4ea308c301d4d3
72d72ef51aef106d6f0300a72b583bcc5cd90a13 28-Jan-2015 Mathieu Chartier <mathieuc@google.com> Force set resolved method for static invokes

For static invokes, we may dispatch to the static method in the
superclass but resolve using the subclass. To prevent getting slow
paths on each invoke, we force set the resolved method for the
super class dex method index if we are in the same dex file.

Added test.

Bug: 19175856
(cherry picked from commit e4a91bbeaa118bc01a5c338c6a6d9ee094a6a2c6)
Change-Id: I26f8644a7f725f5c2dc2a94a8e9578f573792507
e4a91bbeaa118bc01a5c338c6a6d9ee094a6a2c6 28-Jan-2015 Mathieu Chartier <mathieuc@google.com> Force set resolved method for static invokes

For static invokes, we may dispatch to the static method in the
superclass but resolve using the subclass. To prevent getting slow
paths on each invoke, we force set the resolved method for the
super class dex method index if we are in the same dex file.

Added test.

Bug: 19175856
Change-Id: I26f8644a7f725f5c2dc2a94a8e9578f573792507
aa8dd2fdf0b0f14fa3d6598ff13af62d5298a763 23-Jan-2015 Nicolas Geoffray <ngeoffray@google.com> Fix makefile error.

Change-Id: I797de0bed7b9c51cd7889de5144b8dbfd641335d
fe380a7466c83a5475853014a49a080094d20f66 23-Jan-2015 Nicolas Geoffray <ngeoffray@google.com> Mark test as failing for optimizing.

Change-Id: I928ff56d232a647e8227f2b97a8f4a51791a5f95
4846d13744f07e82571d2882acc823d811ec942d 15-Jan-2015 David Brazdil <dbrazdil@google.com> ART: Invoke Checker from run-test scripts

This patch moves Checker-based tests of the optimizing compiler into
the art/test directory and modifies the run-test scripts to dump
the CFG during compilation and to verify the graph using Checker as
part of the "running" stage. Outputs generated by running the test
and running Checker are concatenated and compared with expected.txt.

Checker is invoked only if the test's name name matches the format
"<number>-checker-*" and it's currently enabled only for optimizing +
host configs. The tests are still invoked on other configs but
without Checker.

Change-Id: Ib24da808cd4bca66f07e0dbeb913a418065f2859
8c9200a1928be30e5e5481005f11a4dbe43a124f 15-Jan-2015 Nicolas Geoffray <ngeoffray@google.com> Disable test for NDEBUG, it uses libarttest.so.

Change-Id: Ie275583aec421f3a40663ff44388a73e890ff894
3a91309c30a7575776526ffe6e9a46dc648a59fe 10-Jan-2015 Andreas Gampe <agampe@google.com> ART: Hprof cleanup

Refactor things a bit to make it easier to stream.

Add a simple test that dumps the heap and runs hprov-conf on it.

Change-Id: I79a9ad37d4cf41fa8d63d039586aa80394d96005
bdeb9b7030d30a94bddbb84f4a8bf2f92da9fddd 08-Jan-2015 Mathieu Chartier <mathieuc@google.com> Re-enable ParallelGC test for gcstress mode

Ran the test hundreds of times with gcstress without any failures.

Bug: 16406852
Change-Id: Idd2d248bd43bfb20ad7313e12ce3dce85bea3de5
50c138f7f89ed03d49aa4bdde7351c26b3403e90 08-Jan-2015 Mathieu Chartier <mathieuc@google.com> Fix signal test to work with gcstress

We now avoid running GC if we are handling a stack overflow, this
helps prevent running past the end of the stack overflow reserved
bytes.

Added logic in ThrowStackOverflowError to use a stack overflow
exception without a stack trace if we fail to allocate the stack
trace.

Bug: 16406852
Change-Id: Ib34e235cd0af6d7c4c93c9705fa822f2b9b23b38
02d81cc8d162a31f0664249535456775e397b608 05-Jan-2015 Serban Constantinescu <serban.constantinescu@arm.com> Opt Compiler: ARM64: Add support for rem-float, rem-double and volatile.

Add support for rem-float, rem-double and volatile memory accesses
using acquire-release and memory barriers.

Change-Id: I96a24dff66002c3b772c3d8e6ed792e3cb59048a
Signed-off-by: Serban Constantinescu <serban.constantinescu@arm.com>
3e69f16ae3fddfd24f4f0e29deb106d564ab296c 10-Dec-2014 Alexandre Rames <alexandre.rames@arm.com> Opt compiler: Add arm64 support for register allocation.

Change-Id: Idc6e84eee66170de4a9c0a5844c3da038c083aa7
550b748a6ed59b989a86bd066ac9ffd0ab7fb18d 09-Dec-2014 Nicolas Geoffray <ngeoffray@google.com> Test now fails on amr64/optimizing after float rem changes.

Change-Id: I0b5d7303e3d337b2195c3810069213b1530ab474
d2ec87d84057174d4884ee16f652cbcfd31362e9 08-Dec-2014 Calin Juravle <calin@google.com> [optimizing compiler] Add REM_FLOAT and REM_DOUBLE

- for arm, x86, x86_64 backends
- reinstated fmod quick entry points for x86. This is a partial revert
of bd3682eada753de52975ae2b4a712bd87dc139a6 which added inline assembly
for floting point rem on x86. Note that Quick still uses the inline
version.
- fix rem tests for longs

Change-Id: I73be19a9f2f2bcf3f718d9ca636e67bdd72b5440
5d672a682637882743bab12c2c842f5c0ffb77c6 04-Dec-2014 Nicolas Geoffray <ngeoffray@google.com> Build core.oat without flags.

Existing tools (like vogar) assume only one boot image, so to test the
boot image compiled with the optimizing compiler, we have to compile
core.oat with it.

Change-Id: I4b55236163333709b05c80eea18778ecd2b58a91
c9338b97c70d1b734695ccf9cb667708ac288b9d 03-Dec-2014 Nicolas Geoffray <ngeoffray@google.com> Explicitly give compiler options to test scripts

This makes tests pass when ART_USE_OPTIMIZING_COMPILER=true.

Change-Id: I579c0371033435ead6b06830f15c00dbf7e98005
02164b352a1474c616771582ca9a73a2cc514c1f 13-Nov-2014 Serban Constantinescu <serban.constantinescu@arm.com> Opt Compiler: Arm64: Add support for more IRs plus various fixes.

Add support for more IRs and update others.

Change-Id: Iae1bef01dc3c0d238a46fbd2800e71c38288b1d2
Signed-off-by: Serban Constantinescu <serban.constantinescu@arm.com>
ddb7df25af45d7cd19ed1138e537973735cc78a5 25-Nov-2014 Calin Juravle <calin@google.com> [optimizing compiler] Add CMP{L,G}_{FLOAT,DOUBLE}

Adds:
- float comparison for arm, x86, x86_64 backends.
- ucomis{s,d} assembly to x86 and x86_64.
- vmstat assebmly for thumb2
- new assembly tests

Change-Id: Ie3e19d0c08b3b875cd0a4be4ee4e9c8a4a076290
91debbc3da3e3376416e4394155d9f9e355255cb 26-Nov-2014 Calin Juravle <calin@google.com> Revert "[optimizing compiler] Add CMP{L,G}_{FLOAT,DOUBLE}"

Fails on arm due to missing vmrs op after vcmp. I revert this instead of pushing the fix because I don't understand yet why it compiles with run-test but not with dex2oat.

This reverts commit fd861249f31ab360c12dd1ffb131d50f02b0bfc6.

Change-Id: Idc2d30f6a0f39ddd3596aa18a532ae90f8aaf62f
fd861249f31ab360c12dd1ffb131d50f02b0bfc6 25-Nov-2014 Calin Juravle <calin@google.com> [optimizing compiler] Add CMP{L,G}_{FLOAT,DOUBLE}

- adds float comparison for arm, x86, x86_64 backends.
- adds ucomis{s,d} assembly to x86 and x86_64.

Change-Id: I232d2b6e9ecf373beb5cc63698dd97a658ff9c83
799f506b8d48bcceef5e6cf50f3f5eb6bcea05e1 26-Nov-2014 Nicolas Geoffray <ngeoffray@google.com> Revert "[optimizing compiler] Add CMP{L,G}_{FLOAT,DOUBLE}"

Fails on x86_64 and target.

This reverts commit cea28ec4b9e94ec942899acf1dbf20f8999b36b4.

Change-Id: I30c1d188c7ecfe765f137a307022ede84f15482c
cea28ec4b9e94ec942899acf1dbf20f8999b36b4 25-Nov-2014 Calin Juravle <calin@google.com> [optimizing compiler] Add CMP{L,G}_{FLOAT,DOUBLE}

- adds float comparison for arm, x86, x86_64 backends.
- adds ucomis{s,d} assembly to x86 and x86_64.

Change-Id: Ie91e04bfb402025073054f3803a3a569e4705caa
8829becfc686cfad372e86aad35dadc02e76ceb9 24-Nov-2014 Calin Juravle <calin@google.com> Fix the list of arm64 broken optimizing tests.

Change-Id: I498c1dc0a32686f2b335a2b43ed31ac537f29029
46ae61848590fe1b9cbd476cb2117c60304488e1 20-Nov-2014 Ian Rogers <irogers@google.com> Revert "Revert "Revert "Unfortunately, the test still hits too many run failures."""

This reverts commit 3cfb0d3421f9e5de782d20d61b011187c7edba1c.

Change-Id: Ifc4c48c45115d5593b0d064574019017c37c1fe7
99891d64d0d58d2a0445ad65c5aa2a201da28861 20-Nov-2014 Nicolas Geoffray <ngeoffray@google.com> Update arm64/optimizing expectations.

Change-Id: Ibd8292aa3ec2fb14ad8a4dadbccba23154e1b2d7
5680ba978f7c10d474e2ccd19dd4c5b96270e7dd 18-Nov-2014 Nicolas Geoffray <ngeoffray@google.com> Fix typo.

Change-Id: Iac3b6b2206bfacf5133775b706893fc80dcad5ec
67555f7e9a05a9d436e034f67ae683bbf02d072d 18-Nov-2014 Alexandre Rames <alexandre.rames@arm.com> Opt compiler: Add support for more IRs on arm64.

Change-Id: I4b6425135d1af74912a206411288081d2516f8bf
3cfb0d3421f9e5de782d20d61b011187c7edba1c 17-Nov-2014 Nicolas Geoffray <ngeoffray@google.com> Revert "Revert "Unfortunately, the test still hits too many run failures.""

This reverts commit f8069a217312e486d034cb850e41639580b7385f.

Change-Id: I6359908ef1a2a7927b52d1fd993ef1b5873aa172
bacfec30ee9f2f6fdfd190f11b105b609938efca 14-Nov-2014 Calin Juravle <calin@google.com> [optimizing compiler] Add REM_INT, REM_LONG

- for arm, x86, x86_64
- minor cleanup/fix in div tests

Change-Id: I240874010206a5a9b3aaffbc81a885b94c248f93
f8069a217312e486d034cb850e41639580b7385f 13-Nov-2014 Ian Rogers <irogers@google.com> Revert "Unfortunately, the test still hits too many run failures."

This reverts commit 05b6570eb63d1236d38b1bb8b4ebeb8d36a76c31.

Change-Id: I8e0143e59e4e2f66930f04ecf295ed01418a7135
fcdae6e07eb53979e460d5aec33e8c741234f4f3 13-Nov-2014 Calin Juravle <calin@google.com> [optimizing compiler] Add 014-math3 to the list of arm64 broken tests

Change-Id: I71f48c55eaf86113c1b19c490939bb1518f8dd9e
002aaa16c2fa1109ae62742c6742699d3659771b 13-Nov-2014 Nicolas Geoffray <ngeoffray@google.com> And another failing test on optimizing/armv8.

Change-Id: Ia0bcb40a9407e8709f43d00ff3d43b2063129ed9
05b6570eb63d1236d38b1bb8b4ebeb8d36a76c31 13-Nov-2014 Nicolas Geoffray <ngeoffray@google.com> Unfortunately, the test still hits too many run failures.

Change-Id: I3917c994e454b8e9321b28173059d3ac8739c02e
27503548bc8945da875240751dcd4b1495584669 06-Nov-2014 Serguei Katkov <serguei.i.katkov@intel.com> Use correct register class for refs

LoadValue requires thar ref location should reguest kRefReg
register class. The patch fixes GenFilledNewArray to specify
the register class correctly.

This is a fix for the crash of dex2oat on 412-new-array unit test.
This is a second attempt with an additional fix for arm64.

Change-Id: I9f0bb098cd1d1721ef03e8976c1460f8fa49aa2a
Signed-off-by: Serguei Katkov <serguei.i.katkov@intel.com>
4ad5cd3e7d519484559ef778d96fb3f0be8919fa 12-Nov-2014 Ian Rogers <irogers@google.com> Modify the behavior of thread suspend shootouts.

The thread doing the suspension doesn't attempt to suspend the other thread
unless it knows another thread isn't trying to suspend it. Use the suspend
count, and its lock, for this purpose.
Re-enable ThreadStress test.
Bug: 15446488

Change-Id: Idd34410c7b89d8abd6973e5699a15ca699472c78
70e59ada2c6b2f27c7bae2b4b3a735207d69bbce 12-Nov-2014 Nicolas Geoffray <ngeoffray@google.com> Mark test as failing for optimizing/armv8.

Change-Id: I43e8ade5fb27a66a52309516bce72e081b4ebbf6
36cc29bf3fa5df19413560466457174050a50520 12-Nov-2014 Nicolas Geoffray <ngeoffray@google.com> More armv8/optimizing test failures.

Change-Id: Ic2472e4339f96789086f4397f4a4c53529a3fe49
2a52b33a427da84086607a266258208ea78982af 12-Nov-2014 Nicolas Geoffray <ngeoffray@google.com> Update list of armv8/optimizing failing tests.

Change-Id: I9db077b1c8bd687f665574ab64445161dbf0771b
57a88d4ac205874dc85d22f9f6a9ca3c4c373eeb 10-Nov-2014 Nicolas Geoffray <ngeoffray@google.com> Implement checkcast for optimizing.

- Ended up not using HTypeCheck because of how
instanceof and checkcast end up having different logic
for code generation.

- Fix a x86_64 assembler bug triggered by now enabling
more methods to be compiled. Difficult to test today
without b/18117217.

Change-Id: I3022e7ae03befb1d10bea9637ad21fadc430abe0
29b55354f5856c353c0717ce2b570fabbec550ee 11-Nov-2014 Vladimir Marko <vmarko@google.com> Revert "Use correct register class for refs"

This reverts commit 5c2555407d823356fb55ea3ffdf281aac00a583e.

Change-Id: I0490e9b1a9470e429f31911c9a4f28f71df78cc1
5c2555407d823356fb55ea3ffdf281aac00a583e 06-Nov-2014 Serguei Katkov <serguei.i.katkov@intel.com> Use correct register class for refs

LoadValue requires thar ref location should reguest kRefReg
register class. The patch fixes GenFilledNewArray to specify
the register class correctly.

This is a fix for the crash of dex2oat on 412-new-array unit test.

Change-Id: I58d969ddac0d84d4024bf686b5b0c12337ca9a37
Signed-off-by: Serguei Katkov <serguei.i.katkov@intel.com>
96d9c0dec3cb88fd1794f80a7726f2b9568e7ea6 10-Nov-2014 Nicolas Geoffray <ngeoffray@google.com> Failing test on armv8/optimizing after interface support.

Change-Id: I5423196a5bb37cf20fae4aa6df229790486cad95
52839d17c06175e19ca4a093fb878450d1c4310d 07-Nov-2014 Nicolas Geoffray <ngeoffray@google.com> Support invoke-interface in optimizing.

Change-Id: Ic18d7c3d2810557231caf0571956e0c431f5d384
6f5c41f9e409bc4da53b5d7c385202255e391e72 06-Nov-2014 Nicolas Geoffray <ngeoffray@google.com> Implement instanceof in optimizing.

- Only fast-path for now: null or same class.
- Use pQuickInstanceofNonTrivial for slow path.

Change-Id: Ic5196b94bef792f081f3cb4d15157058e1381e6b
64dea7ec30a3ea63845b40d7315abdd8698e4f6e 07-Nov-2014 Nicolas Geoffray <ngeoffray@google.com> The test now uses libarttest.so, so fails in ndebug mode.

libarttest.so is linked against libartd.so, so running the
test with libart.so will fail.

Change-Id: I395d03b4b4e6b37d81c5066950afe521801410e4
0deac2f8cd3934af070ceabc5a9e8ee43c1ace83 06-Nov-2014 Nicolas Geoffray <ngeoffray@google.com> 421-large-frame fails on optimizing/arm64.

It fails now that we support throw.

Change-Id: Ifc5011c0c41b63ff5d13f750c897cea11b845025
de58ab2c03ff8112b07ab827c8fa38f670dfc656 05-Nov-2014 Nicolas Geoffray <ngeoffray@google.com> Implement try/catch/throw in optimizing.

- We currently don't run optimizations in the presence of a try/catch.
- We therefore implement Quick's mapping table.
- Also fix a missing null check on array-length.

Change-Id: I6917dfcb868e75c1cf6eff32b7cbb60b6cfbd68f
ed9b1958371952f5cdcc040bec8997da462edba7 06-Nov-2014 Roland Levillain <rpl@google.com> Fix ART build issues.

- Use ATTRIBUTE_UNUSED to avoid a warning about an unused
argument in compiler/optimizing/nodes.h instead of
simply commenting it out.
- Disable run test 002-sleep on ARM64.

Change-Id: I96911904289b73611e0fc168e7b597a9a2df8141
6fb4ef550d6c182abe91671921657aa2f4715a5a 06-Nov-2014 Nicolas Geoffray <ngeoffray@google.com> Fix typo in test name.

Change-Id: Ib1cbb66fdae118358d7903e8455838e3955c19e6
db3dae976c3be935ce3cbb4eade1bafb91ce2b0c 06-Nov-2014 Nicolas Geoffray <ngeoffray@google.com> Mark 703-floating-point-div as failing on optimizing/arm64.

Change-Id: Id778a0944e49158eadc9a1b4629dc2647139477e
dff1f2812ecdaea89978c5351f0c70cdabbc0821 05-Nov-2014 Roland Levillain <rpl@google.com> Support int-to-long conversions in the optimizing compiler.

- Add support for the int-to-float Dex instruction in the
optimizing compiler.
- Add a HTypeConversion node type for control-flow graphs.
- Generate x86, x86-64 and ARM (but not ARM64) code for
int-to-float HTypeConversion nodes.
- Add a 64-bit "Move doubleword to quadword with
sign-extension" (MOVSXD) instruction to the x86-64
assembler.
- Add related tests to test/422-type-conversion.

Change-Id: Ieb8ec5380f9c411857119c79aa8d0728fd10f780
03e68d52f5db90fcf8ef31191f5f2298f04ff416 04-Nov-2014 Nicolas Geoffray <ngeoffray@google.com> New failure on optimizing/arm64 after CONST_CLASS support.

Change-Id: I7bae21795bc038e98f17a903e5964feef0718a37
424f676379f2f872acd1478672022f19f3240fc1 03-Nov-2014 Nicolas Geoffray <ngeoffray@google.com> Implement CONST_CLASS in optimizing compiler.

Change-Id: Ia8c8dfbef87cb2f7893bfb6e178466154eec9efd
4b420e7019e4551ad2e0cc16c8cc9f12ecfbf0ec 04-Nov-2014 Nicolas Geoffray <ngeoffray@google.com> miranda multidex test fails on optimizing/arm64.

Change-Id: I9c41f7aaeb77d2a50c177fdc71fa54503eeb612f
53c42b68e5264012e9b16f9584cc1f3a58bc14fc 31-Oct-2014 Nicolas Geoffray <ngeoffray@google.com> More armv8 failures now that optimizing supports CONST_STRING.

Change-Id: Ifd53c7f520266e5a3ccdf58c50fcb7788e1eb9c6
b5f62b3dc5ac2731ba8ad53cdf3d9bdb14fbf86b 30-Oct-2014 Nicolas Geoffray <ngeoffray@google.com> Support for CONST_STRING in optimizing compiler.

Change-Id: Iab8517bdadd1d15ffbe570010f093660be7c51aa
020ac039032fe7c201a3c7acf7ba5db2e56923d5 30-Oct-2014 Nicolas Geoffray <ngeoffray@google.com> 419 fails on optimizing/arm64.

Change-Id: I323b53314198821b44829f4299449859163df82f
32607a121f5791511ee3cf2fbe6dd3c4afa166cc 30-Oct-2014 Nicolas Geoffray <ngeoffray@google.com> Update list of failing tests for arm64/optimizing.

Support for new opcodes in other backends led to new failures.

Change-Id: I4231869cd698ee412e9319eb6822f7e885160b19
bf03e846536b1b5150bbc419d9adb651ebc4fa06 30-Oct-2014 Andreas Gampe <agampe@google.com> ART: Fix no-image run-test dependency

The tests depend on a core image for prebuilding.

Change-Id: Ib8352a00b61bfcb72b86d42fb8a94e3802ff874d
c8f23fc19726245da6a11fa2d92e319b9d26c019 28-Oct-2014 Nicolas Geoffray <ngeoffray@google.com> Provide an option to run run-tests with a local dalvikvm.

Instead of overwriting /system, use a temporary directory
to push the binaries and libraries, and use them for
running the tests.

Change-Id: I45fa2ac51f836686d8e8676907eb26629f7ab2ab
19a19cffd197a28ae4c9c3e59eff6352fd392241 22-Oct-2014 Nicolas Geoffray <ngeoffray@google.com> Add support for static fields in optimizing compiler.

Change-Id: Id2f010589e2bd6faf42c05bb33abf6816ebe9fa9
c23c9c93aade8dd99d23ad796888cbf2f7f96a47 28-Oct-2014 Andreas Gampe <agampe@google.com> ART: PIC testing

Adds run-test support for PIC testing.

For the core image, enable with ART_TEST_PIC_IMAGE=true.
For the tests themselves, enable with ART_TEST_PIC_TEST=true.
Off by default.

Bug: 18035729
Change-Id: I23e396a2fa47b9471145f45b3c63f447871ebebf
63fc30e201a74dbad9422a6dbd4c39e4b60ac4c5 25-Oct-2014 Andreas Gampe <agampe@google.com> ART: Create and use multiple core images

Update test infrastructure to understand several core variants.
Now compiles three core.art/oat variants:

* core.art/oat, default-compiled
* core-interpreter.art/oat, interpret-only
* core-optimizing.art/oat, optimizing compiler

The run-test variant implies which core variant is used.

Change-Id: Ieeaf2df90faee2b04c209b950897e77806205fe4
7c4954d429626a6ceafbf05be41bf5f840894e44 28-Oct-2014 Calin Juravle <calin@google.com> [optimizing compiler] Add division for floats and doubles

backends: x86, x86_64, arm.

Also:
- ordered instructions based on their name.
- add missing kNoOutputOverlap to add/sub/mul.

Change-Id: Ie47cde3b15ac74e7a1660c67a2eed1d7871f0ad0
41bb331ff93a8e54d0fafaaccfddd791a8ddf430 24-Oct-2014 Nicolas Geoffray <ngeoffray@google.com> Add more environment variable to control test granularity.

Change-Id: I7d96b6841db097c51262aa26dba8f331ca7891ff
2e07b4f0a84a7968b4690c2b1be2e2f75cc6fa8e 23-Oct-2014 Roland Levillain <rpl@google.com> Revert "Revert "Implement long negate instruction in the optimizing compiler.""

This reverts commit 30ca3d847fe72cfa33e1b2473100ea2d8bea4517.

Change-Id: I188ca8d460d55d3a9966bcf31e0588575afa77d2
30ca3d847fe72cfa33e1b2473100ea2d8bea4517 23-Oct-2014 Roland Levillain <rpl@google.com> Revert "Implement long negate instruction in the optimizing compiler."

This reverts commit 66ce173a40eff4392e9949ede169ccf3108be2db.
66ce173a40eff4392e9949ede169ccf3108be2db 23-Oct-2014 Roland Levillain <rpl@google.com> Implement long negate instruction in the optimizing compiler.

- Add support for the neg-long (long integer two's
complement negate) instruction in the optimizing compiler.
- Add a 64-bit NEG instruction (negq) to the x86-64
assembler.
- Generate ARM, x86 and x86-64 code for integer HNeg nodes.
- Put neg-related tests into test/415-optimizing-arith-neg.

Change-Id: I1fbe9611e134408a6b8745d1df20ab6ffa5e50f2
096cc029451f4d48a79361ec206b6a7f3f58dd7c 23-Oct-2014 Calin Juravle <calin@google.com> [optimizing compiler] Handle SUB_FLOAT/DOUBLE nodes

Also add 414-optimizing-arith-sub to
TEST_ART_BROKEN_OPTIMIZING_ARM64_RUN_TESTS.

Change-Id: Ia1b7ff7857bc0e488b9b8ed8a36efb1a3a9bad36
5319defdf502fc4569316473846b83180ec08035 23-Oct-2014 Alexandre Rames <alexandre.rames@arm.com> ART: optimizing compiler: initial support for ARM64.

The ARM64 port uses VIXL for code generation, to which it defers work
like label binding and branch resolving, register type coherency
checking, and immediate values handling.

Change-Id: I0a44508c0c991f472a63e67b3469cdd878fe1a68
Signed-off-by: Serban Constantinescu <serban.constantinescu@arm.com>
Signed-off-by: Alexandre Rames <alexandre.rames@arm.com>
9228b2a1dfcf27452a0acfcbf34f72fdaa5a1caa 22-Oct-2014 Calin Juravle <calin@google.com> Fix make file comment

Change-Id: I2b2261aea00b934411979dbca1e00d5a75030407
83cae421d99f7d3d05836d94be495258066f16bb 22-Oct-2014 Nicolas Geoffray <ngeoffray@google.com> Fix typo in Makefile.

Change-Id: I9133804eff8ce8e785f8551488daee1f19036952
a3d05a40de076aabf12ea284c67c99ff28b43dbf 20-Oct-2014 Nicolas Geoffray <ngeoffray@google.com> Implement array creation related DEX instructions.

Implement new-array, filled-new-array, and fill-array-data.

Change-Id: I405560d66777a57d881e384265322617ac5d3ce3
f38b7dca5217588a57384c864798409b7d685042 21-Oct-2014 Nicolas Geoffray <ngeoffray@google.com> Fix m test-art-host-run-test-001-HelloWorld.

Noticed by Calin, bug spotted by Andreas.

Change-Id: Id10004597a7d9605bd80d68c998add611f242510
bd2c63ca277a6f7659bc0821e0af1521ce45928e 16-Oct-2014 Nicolas Geoffray <ngeoffray@google.com> Support running run-test in ndebug mode through make.

Change-Id: I514f44f356ecd0bf64d3f5b1295a99ff52a5d7b3
6f3dbbadf4ce66982eb3d400e0a74cb73eb034f3 15-Oct-2014 Ian Rogers <irogers@google.com> Make ART compile with GCC -O0 again.

Tidy up InstructionSetFeatures so that it has a type hierarchy dependent on
architecture.
Add to instruction_set_test to warn when InstructionSetFeatures don't agree
with ones from system properties, AT_HWCAP and /proc/cpuinfo.
Clean-up class linker entry point logic to not return entry points but to
test whether the passed code is the particular entrypoint. This works around
image trampolines that replicate entrypoints.
Bug: 17993736

Change-Id: I5f4b49e88c3b02a79f9bee04f83395146ed7be23
abbf242d57bba783bef7f4f3c4deb0e63d34353f 15-Oct-2014 Ian Rogers <irogers@google.com> Remove test dependencies on phony targets.

We already depend in the test on the presence of the executable, depending on
the phony causes make to complain about "don't know how to build".

Change-Id: I0db61d184106df6642791909d416666c3d4f370e
8fda9f2aec6820ebf1bd550412ec99d9eb3ffa9e 04-Oct-2014 Andreas Gampe <agampe@google.com> ART: Add smali-based run-test

Add run-test 800 for smali-based tests. To use, drop a smali file
into the src/ directory and add a TestCase in src/Main.java.

Bug: 17814475

Change-Id: Ica9eb830689862cb3a4ffa0019fbc447c01af744
58920cc9baf74e9d5e5d6c93ac4d40c7a86700cf 10-Oct-2014 Ian Rogers <irogers@google.com> Disable 114-ParallelGC for GC stress testing.

Bug: 17387969
Change-Id: Ic50e9642468646c36afa5cfbe4050d24e9190ae6
611e1db69aff00f297d0d59c47af3c9ae563eb7b 09-Oct-2014 Nicolas Geoffray <ngeoffray@google.com> Makefile cleanups.

Also add the DEX2OAT_FLAGS to the generation of core.oat/core.art.

Change-Id: I5d113fad460b2e14fc652816069adba29ca744b8
a3cf6ce149b98b90f5f646e2a3adc5259ae0c3c6 03-Oct-2014 Ian Rogers <irogers@google.com> Fix test-art-(host|target)-run-test(32|64) targets.

Fix extra hyphen and missing target.

Change-Id: Ib7f87172693507ff693bcebe2629e5dfd64b1b3a
3d56be868c94c7a17bb03b8b1401978ea3390da1 30-Sep-2014 Nicolas Geoffray <ngeoffray@google.com> Disable ThreadStress.

Change-Id: Ieead69051687a8cc4687ab0c8c8879d780da01f3
68caf9e7232109c698e7f91f64b348cf37b432dd 03-Sep-2014 Jeff Hao <jeffhao@google.com> Fix stack overflow and duplicate methods while tracing.

Bug: 16386215
Change-Id: I0d0ae0113a3a00013ce84a1f5a110e2c52f19b86
(cherry picked from commit 6b28a456b075fe53dfb7e924a44dbf35d0d41eb3)
6b28a456b075fe53dfb7e924a44dbf35d0d41eb3 03-Sep-2014 Jeff Hao <jeffhao@google.com> Fix stack overflow and duplicate methods while tracing.

Bug: 16386215
Change-Id: I0d0ae0113a3a00013ce84a1f5a110e2c52f19b86
40e1912e9fc26f9970035e70d59ef9fbbeb796ef 03-Sep-2014 Ian Rogers <irogers@google.com> Disable SignalTest with GC stress.

Also, only add to broken tests list run-tests that will be generated.

Change-Id: Ibd363c059c799110da7f3f5ec8ceba55277d5e0e
cd4380cb1ef33866be418795493a5289f0b3bd3a 29-Aug-2014 Dave Allison <dallison@google.com> Fix master-art-host build by removing flakey test (temporarily)

Change-Id: I8c97e7a5339a6f7f5984a58ee1a7b41eab3cb2b1
91a8366fb161725d40c99ce6330ab5c2ca758b56 29-Aug-2014 Dave Allison <dallison@google.com> Fix signal chain to allow for signal() call to be used

Bug: 17320614
Change-Id: Ia917307fb1b593644f524518e11e295b3c64be01
992f1e7cd2049730e45ad9b9489938845c8c4f1f 28-Aug-2014 Alex Light <allight@google.com> Fix gcstress and gcverify test targets

Make the build system look at the right variables to determine if these
should be on.

Change-Id: Iede993714eee773716cdc99181b10b280e96ca2a
86df3ac7603f2f50780f6c4310b24a0c38a286a9 27-Aug-2014 Ian Rogers <irogers@google.com> Various run-test makefile fixes.

Reduce number of test combinations based on global flags, rather than just
specific tests, to keep known broken list as small as possible.
Fix dist goal known broken definition.
Fix naming of rules in define-test-art-run-test to match the make target.
Undefine more variables after use.

Change-Id: I4b4eadd37fc1f816bc61d78c5866bfcee7b60244
ddfe779c670f541b40d8a912699d12188e1b75a8 27-Aug-2014 Ian Rogers <irogers@google.com> Fix builds where dist_goal is defined.

Change-Id: I93b3fb468cf760aa84d792b2651cdde366fc6033
9fcaa4b46789650c42d819f163781312e463b6ce 27-Aug-2014 Ian Rogers <irogers@google.com> Fix test build targets.

Missing includes for libarttest.
Missed merge for adding IMAGE_TYPES to known broken tests.

Change-Id: I64227b3410bac9a1de8e0efd3b89eab78cd3cf5b
03a112d23694afffe9808082e7144b7e8744a4bd 25-Aug-2014 Alex Light <allight@google.com> Add run-test support for running without a working patchoat/dex2oat

Also add it to the test-art target.

Bug: 17262039

Change-Id: Id31130194c46df66fc48852d6f8884f14cb08db4
f5c44b37131e7c54675db7d4446cfb256f6bd0f7 20-Aug-2014 Ian Rogers <irogers@google.com> Use loops to build combinations of run-tests.

Add a JNI force copy test.
Split tracing from GC, relocation from prebuilding.
As the combinations of tests is sufficiently large to cause make serious work,
only build rules for tests that will be executed. Default to small number of
tests rather than full. Use ART_TEST_FULL=true to override.

Change-Id: Ic25431f29071b840d2e2295be6853511c0b52cfa
0a112bbbcd761c749c346bfec0ec39c1ef37a590 14-Aug-2014 Alex Light <allight@google.com> Make apps able to run with a failing patchoat

Bug: 17000769

(cherry picked from commit 9dcc4572949f6a8231a1b4ed859676ba6f411726)

Change-Id: I0a1a4dc7f5d4bb268530840302ecfb1555231e05
9dcc4572949f6a8231a1b4ed859676ba6f411726 14-Aug-2014 Alex Light <allight@google.com> Make apps able to run with a failing patchoat

Bug: 17000769

Change-Id: I0a1a4dc7f5d4bb268530840302ecfb1555231e05
4bf8d11df5dccc1b276cd9c40a98e8a14d79a9c8 25-Jul-2014 Jeff Hao <jeffhao@google.com> Fix proxy tracing and enable tests that now work with tracing.

Also updates proxy_test to generate an image for GetQuickOatCodeFor.

Bug: 16386215

(cherry picked from commit f0a3f09c3d54646166a55c05a6b39c7dd504129c)

Change-Id: I138edbad9e1646db8590f2b1b73f2788d9710e68
e7873ecb240aef520f7a7933028fa58708baf761 12-Aug-2014 Alex Light <allight@google.com> Added --gcstress and --gcverify shortcut flags to run-test

Change-Id: Ia11fcbc71488710ca32f397c3c1b19613e294d1e
2cfa5f158177d0e9b55186b19b1d3634065c344f 11-Aug-2014 Nicolas Geoffray <ngeoffray@google.com> Add gcstress top-level make rule, eg test-art-host-run-test-gcstress.

Change-Id: I221aa3274a513820b12ac25cdfecc911ce212144
f0a3f09c3d54646166a55c05a6b39c7dd504129c 25-Jul-2014 Jeff Hao <jeffhao@google.com> Fix proxy tracing and enable tests that now work with tracing.

Also updates proxy_test to generate an image for GetQuickOatCodeFor.

Bug: 16386215
Change-Id: Ie7daad3d73ea7b60187bc1e7037ade0df8277107
bfac14acef0c2327ef8c28f146dd17d009aa8669 30-Jul-2014 Alex Light <allight@google.com> Add --always-clean flag to run-test.

This flag makes run-test remove the test-artifacts even if it fails. Also
enable this option by default when doing run-tests with make. Add
a ART_TEST_RUN_TEST_ALWAYS_CLEAN environment variable to control this
option.

Change-Id: I7867b400d570d8d679d9822d1fa65f49eb3522ae
0398e171f206cd3b140a358ac31b0a3760380df1 25-Jul-2014 Jeff Hao <jeffhao@google.com> Fix proxy tracing and enable tests that now work with tracing.

Bug: 16386215
Change-Id: Iec2a372c921caceb050c6baf72d48b3d822899a4
855564b83db7b106d2995d0e784f1f4b62e52371 25-Jul-2014 Andreas Gampe <agampe@google.com> ART: Native bridge command-line parameter

Add a command-line parameter for the native bridge library, slight
refactor/cleanup.

Add run-test 115 to test the native bridge interface. Currently the
tests are black-listed for the target, as the setup for the test
is too complicated in the current infrastructure.

Change-Id: I6ccf19485e8c30b96e9f2fd5425278cb1ebd403f
3bb12b9bea020e2b797ec3fe6bc253d33189ed97 28-Jul-2014 Nicolas Geoffray <ngeoffray@google.com> Add a variable to disable PREBUILD in run-tests.

Change-Id: I318d37a2d98972c689829258e129ec8973bdc038
167cc7c33f7100e3f7acc1594c066daa0122e27a 29-Jul-2014 Nicolas Geoffray <ngeoffray@google.com> Revert "Fix proxy tracing and enable tests that now work with tracing."

This reverts commit 0398e171f206cd3b140a358ac31b0a3760380df1.

Change-Id: I1346ab01485cc7207be0ecb4d8788c500c0df903
0a0a20b44775f17519fea577401f71c4d336a673 29-Jul-2014 Nicolas Geoffray <ngeoffray@google.com> Fix braino in Makefile.

Change-Id: I7cbf694f35db97946823de148ff6dd6053091de6
c5a8347ac491a5f521945d3835a322123830456b 24-Jul-2014 Mathieu Chartier <mathieuc@google.com> Fix stale remembered sets error.

We were forgetting to remove the remembered set in transition to
background. This resulted in remembered sets being added for
spaces which no longer existed. This finally caused an error when
a new space happened to have the same address as the old space,
resulting in a CHECK failure.

Also tuned the number of ParallelGC to prevent spurrious failures
and removed the ParallelGC from broken tests in the make file.

Bug: 16532086
Bug: 16406852

Change-Id: I00bbcbd7daa03c867732d165be62b72e6c43bce1
b363f666883860d40823d5528df3c98c897f74f4 16-Jul-2014 Mathieu Chartier <mathieuc@google.com> Recycle mem-maps for collector transitions.

We now create spaces when we need them for collector transitions or
homogeneous compaction by recycling mem maps. Change the bump
pointer space size to be as large as the heap capacity instead of
1/2 heap capacity like it used to be. For GSS, bump pointer spaces
are set to 32MB currently.

Changed GSS to have main space == non moving space since we don't
need to copy from the main space.

Fixes GC stress tests 074, 096.
Fixed test 080 oom throw with -Xmx2m for GC stress test, this was
broken since it was allocating a 4 MB array before starting the
OOM process.

Bug: 14059466
Bug: 16406852
Change-Id: I62877cfa24ec944a6f34ffac30334f454a8002fd
7eeecb7de492483024dcd7198d3e9fa5497cd89b 23-Jul-2014 Alex Light <allight@google.com> Add test-art-*-run-test-###-test-name32/64 test targets.

This allows one to run only a single architecture for one of the run-tests.

Change-Id: Icb06c2b36074cbec7f7808a2fcaba97ec5501578
1c83cbc4a817acbd7f9abb5b29a2d418a958e6a1 23-Jul-2014 Andreas Gampe <agampe@google.com> ART: Make run tests out of oat tests

Transforms all former oat tests into run tests.

Change-Id: I190dd39456454c36e5538a2c044d993965a67533
9d722533b0ef6547ee0ab5286f65af98451c36e4 23-Jul-2014 Alex Light <allight@google.com> Changed default non-full tests to be prebuild.

Also added ability to turn off non-prebuild manually.

Change-Id: I0315ac43703a9c7e79812658523013799fb5d5dd
a59dd80f9f48cb750d329d4d4af2d99d72b484d1 03-Jul-2014 Alex Light <allight@google.com> Runtime can now be set to require relocation

Add a pair of runtime flags -Xrelocate and -Xnorelocate that can force
the runtime to require that all files that are run are relocated, to
prevent attacks based on the known art base address.

Add support for running patchoat on oat files compiled without an image.

Change run-test to have new --prebuild and --relocate flags.

Bug: 15358152

Change-Id: I91166c62dd1ab80e5cbcb7883a2cd0d56afca32d
701aa645a3e61fe8866000bb66b1287196a5536a 18-Jul-2014 Ian Rogers <irogers@google.com> Add GC verification test rules.

Change-Id: I7469ecaf98f680e7e642035f3536b00bdd97b486
5242c0ab0505f0f038b15c3d934a79a6b4e5ef17 18-Jul-2014 Ian Rogers <irogers@google.com> Allow optimizing and trace tests to be not run.

Make it so that optimizing and trace tests can be chosen to be not run.
mm -j32 test-art
will run all optimizing and trace tests.
mm -j32 test-art ART_TEST_FULL=false
will not run optimizing and trace tests.
mm -j32 test-art ART_TEST_FULL=false ART_TEST_OPTIMIZING=true
will not run trace tests but will run optimizing tests.

Change-Id: I9c04d9489f08fb837da5561d9496c97aee7c4a4a
e1cd43871a5c3ee3712a7980089bcfeb2432b0c3 19-Jul-2014 Ian Rogers <irogers@google.com> Fix the name of a black listed run-test.

Change-Id: I1ac4d28bd959b33066cce32812613c2e27d40f7e
8813820aa916a31ad33cdc0db053eb3ee90207cb 19-Jul-2014 Ian Rogers <irogers@google.com> Black list timing sensitive tests from gcverify and gcstress

but only when run on build servers.

Change-Id: Icb3b125142d75bd4cc140c9f8ef7abf1d6451c5a
4cd99b00838e06712e01c1973deedd2c0dd4e33e 19-Jul-2014 Ian Rogers <irogers@google.com> Black list more trace tests.

Bug: 16386215
Change-Id: Ieda8306f9419669935f5452a1765c09ff898ff7f
064a59d018164980f75807737d24fde00ba6d7ed 19-Jul-2014 Ian Rogers <irogers@google.com> Run-test fix.

Change-Id: I601d425582a69f77786a76d625079f3ca5974428
8a14b75d876ad20f08087664070354fa6f65a029 19-Jul-2014 Ian Rogers <irogers@google.com> Add a GC stress run that uses a moving collector and small heap sizes.

Disable 3 run-tests for this configuration that fail for reasons relating to
OOME handling.
Add 012-math to the failing trace tests, it fails due to hitting a file size
limit when running in the interpreter.

Change-Id: Ia58f4c245d9d2d14caf5f2f2f3dcbfa40d4ccadb
55bce0c2c4d8dfaecf931f832b45f0a887f9fa32 16-Jul-2014 Ian Rogers <irogers@google.com> Add another test to the trace test black list.

Change-Id: Ib2266b4fa2684e477791fe317a598c22d79e3400
716e4f88aa062ef51a5cf7a16a452b2d291a1deb 16-Jul-2014 Ian Rogers <irogers@google.com> Add --trace variants of the run-test testing rules.

Only for host and the default compiler at the moment.
Also, fix test-art-host32 and test-art-host64.

Change-Id: Ic13190e766aca522de95d2b5b12926c906ba8fb8
4d1231d61862b17bc9dce8ff65c5ada93bdcfb15 01-Jul-2014 Nicolas Geoffray <ngeoffray@google.com> The host build has changed from lib32/lib to lib/lib64.

Use the correct build variable for library dependency.

Change-Id: I2f12d13b595d97b2806eb709613e2cc358f4cad4
c87deb01815638c69e30fa6787b0a9ea91ea8c29 25-Jun-2014 Brian Carlstrom <bdc@google.com> Fix names of TEST_ART_TIMING_SENSITIVE_RUN_TESTS

Change-Id: I8fc711238a3d94033c01b45b6da386f122fa0f78
979942f123a2a9d1949f8be6672ff14101d9f214 25-Jun-2014 Brian Carlstrom <bdc@google.com> Add libjavacore dependency for oat tests

Change-Id: Iac616faacf80f64dde02df79933d21b44959f7d2
fc2990b10ee8d7128671edd47a4d0775958cc4b4 25-Jun-2014 Ian Rogers <irogers@google.com> Define run-test targets.

Addressing review comment on https://android-review.googlesource.com/#/c/98456/11

(cherry picked from commit bf66bce894595c2d197c636e28d2c3a8044925e2)

Change-Id: I6582378f2e41692bd0dae86133578cb4c17427cf
d0996831baeeb1daeae1bb1cd77dd041238e46d0 25-Jun-2014 Ian Rogers <irogers@google.com> Fix various test dependencies.

(cherry picked from commit 665de8a1710d2418f60d3bffdc99bdac32252530)

Change-Id: I461b1a963262d48b5caa0e3492b7b923b29755c8
519e3d034f0d94eda4aad343a7f367c42d41c2b2 25-Jun-2014 Brian Carlstrom <bdc@google.com> Add libjavacore dependency for oat tests

(cherry picked from commit 979942f123a2a9d1949f8be6672ff14101d9f214)

Change-Id: I8f29665259634226ed78fb26b35fb92323310698
bf66bce894595c2d197c636e28d2c3a8044925e2 25-Jun-2014 Ian Rogers <irogers@google.com> Define run-test targets.

Addressing review comment on https://android-review.googlesource.com/#/c/98456/11

Change-Id: I6ad031dcf53b63506ebb738e9c26cc15f0f10107
665de8a1710d2418f60d3bffdc99bdac32252530 25-Jun-2014 Ian Rogers <irogers@google.com> Fix various test dependencies.

Change-Id: I2e4761f4cc061f74319a7b64ebe67c553d5297df
6ffcd00bcb6ab61c80d2f9204d2ea376485d0c79 25-Jun-2014 Brian Carlstrom <bdc@google.com> Fix names of TEST_ART_TIMING_SENSITIVE_RUN_TESTS

(cherry picked from commit c87deb01815638c69e30fa6787b0a9ea91ea8c29)

Change-Id: Iceff40c3bd22b5dacbdc9550ec894003c758fd86
afd9acc30bdd11cdd12d8209eb994cb371c65e33 17-Jun-2014 Ian Rogers <irogers@google.com> Multilib ART host.

Build ART for the host as a multilib project with dalvikvm32 and dalvikvm64
running as 32 or 64-bit repsectfully. Note, currently multilib host builds
are not the default, you make the so by setting BUILD_HOST_64bit=1.
Extend tests to execute in both 32 and 64-bit modes. By default both 32 and
64-bit tests are run, add 32 or 64 to the end of a test name to run it in
purely that flavor.
Given the extra spam, modify oat tests to only generate console output when
the test fails.
Change the test harness so that common commands are run when a test should be
skipped, when it passes or when it fails. Use these commands to generate a
summary of passing, skipped and failing tests. Tests will be skipped if they
are known to be broken or if a test has already failed. Setting the variable
TEST_ART_KEEP_GOING=true will force working tests not to be skipped.
In this change all tests running on the optimizing compiler are marked broken
due to breakages running them in a multilib environment.
Break apart Android.common.mk into its constituent parts, along with other
pieces of reorganization.

Stylistic nit, we refer to make rule targets as targets thereby overloading
the term target. While consistent with make's terminology, its confusing with
the Android notion of target. I've switched to just calling targets rules to
avoid confusion in host tests.

Change-Id: I5190fc3de46800a949fbb06b3f4c258ca89ccde9
20550910e608ed7d86db97927d2ce9d2191061a4 25-Jun-2014 Nicolas Geoffray <ngeoffray@google.com> Re-enable tests with the optimizing compiler.

Tests run ok on my host/target. I reverted the move to
using thumb2, because tests were crashing. But I could not
reproduce file limits issues.

Change-Id: I26bc4ec1eb6c227750d11210e012d9d3b1d824af
f61b5377068f22c0be7b2f6e62961e620408beb2 25-Jun-2014 Nicolas Geoffray <ngeoffray@google.com> Re-enable tests with the optimizing compiler.

Tests run ok on my host/target. I reverted the move to
using thumb2, because tests were crashing. But I could not
reproduce file limits issues.

Make SignalTest as crashing for optimizing. We need to implement
stack overflow checks.

Change-Id: Ieda575501eaf30af7aaa2c44e71544c9c467c24f
e61fd353c06f51f1b8ca5af69997d0185b7659b2 25-Jun-2014 Nicolas Geoffray <ngeoffray@google.com> Revert "Re-enable tests with the optimizing compiler."

This reverts commit 20550910e608ed7d86db97927d2ce9d2191061a4.

Change-Id: Ic28b719946c795378838a18162a2a2b2cf41a0e8