History log of /art/test/Android.run-test.mk
Revision Date Author Comments
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
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)
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
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
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