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