summaryrefslogtreecommitdiffstats
path: root/test/Android.run-test.mk
Commit message (Collapse)AuthorAgeFilesLines
* Re-enable run-test 449-checker-bce on MIPS64.Roland Levillain2015-07-131-14/+0
| | | | | | | (cherry picked from commit c3f73f788a2f46e4007433bd3ed3dce64e2f5f33) Bug: 21555893 Change-Id: I92e11637cc1f8f694e4d4138512cbcf47e22a249
* Support compiling run-tests with jackSebastien Hertz2015-07-091-4/+47
| | | | | | | | | | | | | | | | | | | | | | | | 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
* Add implicit null pointer and stack overflow checks for Mips.Douglas Leung2015-07-031-17/+0
| | | | | | | (cherry picked from commit 22bb5a2ebc1e2724179faf4660b2735dcb185f21) Bug: 21555893 Change-Id: I2a995be128a5603d08753c14956dd8c8240ac63c
* Merge "MIPS: Initial version of optimizing compiler for MIPS64R6." into mnc-devRoland Levillain2015-06-291-0/+31
|\
| * MIPS: Initial version of optimizing compiler for MIPS64R6.Roland Levillain2015-06-261-0/+31
| | | | | | | | | | | | | | | | | | | | (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>
* | ART: Fix streaming tracing issuesAndreas Gampe2015-06-261-3/+12
|/ | | | | | | | | | | | 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
* ART stack unwinding fixes for libunwind/gdb/lldb.David Srbecky2015-06-191-1/+51
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 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
* Revert "Revert "Turn off duplicate-classes checking""Andreas Gampe2015-06-031-0/+5
| | | | | | | This reverts commit 18a1827a159f1b235f3fcc934f428059185f550e. Bug: 21333911 Change-Id: I8cb96efbf7151b238f3ee137a938b20ddfaf0ebc
* Merge "Revert "DO NOT MERGE ART: Turn off duplicate-classes checking"" into ↵Andreas Gampe2015-05-211-5/+0
|\ | | | | | | mnc-dev
| * Revert "DO NOT MERGE ART: Turn off duplicate-classes checking"Andreas Gampe2015-05-211-5/+0
| | | | | | | | | | | | | | This reverts commit aafcfca5fe545365ef377fff2897b8a908f03e71. Bug: 21333911 Change-Id: Ibbc6b1be8bebc1d0ab9c5955b34eb89f40577baa
* | Merge "DO NOT MERGE ART: Turn off duplicate-classes checking" into mnc-devAndreas Gampe2015-05-211-0/+5
|\ \ | |/
| * DO NOT MERGE ART: Turn off duplicate-classes checkingAndreas Gampe2015-05-201-0/+5
| | | | | | | | | | Bug: 21333911 Change-Id: I9832526a6d2996aadb459e3ec0930cbaf151478a
* | ART: Fix RegisterNative orderAndreas Gampe2015-05-201-0/+1
|/ | | | | | | | | | | | | | | | | 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
* Merge "Skip compilation when falling-through out of method code."Calin Juravle2015-05-081-1/+0
|\
| * Skip compilation when falling-through out of method code.Calin Juravle2015-05-011-1/+0
| | | | | | | | | | Bug: 19988134 Change-Id: I68638ce9551848a67af587595f264b51f976df11
* | Temporarily suppress 098-ddmc for the read barrier config.Hiroshi Yamauchi2015-05-051-0/+11
|/ | | | | Bug: 20720510 Change-Id: Ie8c159767654837c02f0484f4dda569bb0118a03
* Bugs have been fixed, so run the tests.Nicolas Geoffray2015-04-291-2/+0
| | | | Change-Id: I6769cf244d246160b65d6dd4e4df0efb0aa8a7e5
* Quick: Fix crash on fall-through out of method code.Calin Juravle2015-04-281-0/+1
| | | | | | | | | | | | | | | | | | | 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
* ART: Duplicate-classes cleanupAndreas Gampe2015-04-241-0/+6
| | | | | | | Disable old test. Improve collision warning message. Add a comment about the algorithm. Change-Id: Ibd29d79565732162150aebd7fe08d0895ccf3d79
* Merge "ART: Check for duplicate classes when loading oat files"Andreas Gampe2015-04-251-2/+10
|\
| * ART: Check for duplicate classes when loading oat filesAndreas Gampe2015-04-241-2/+10
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 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
* | Skip known broken tests for ARM back ends on ARM as second arch.Roland Levillain2015-04-231-0/+10
|/ | | | Change-Id: Idbe4c26d8ffcd91882fe61f62c959cc27d1f28b1
* Revert "Revert "Optimizing: Fix long-to-fp conversion on x86.""Roland Levillain2015-04-201-0/+13
| | | | | | | This reverts commit 386ce406f150645158d6067c4e0a36565aefc44f. Bug: 20413424 Change-Id: I6e93ff132907f2653f1ae12d6676ff2298f62ca1
* Fix locations at environment uses.Nicolas Geoffray2015-03-311-0/+1
| | | | | | | | | 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
* Change "no-","no" test prefix to nMathieu Chartier2015-03-201-15/+15
| | | | | | Reduces file names to under 255 characters, for now. Change-Id: I095da02c1a3fc14fa9022d1a39307845bd870abc
* [optimizing] Use baseline when debuggable is set.Nicolas Geoffray2015-03-161-3/+0
| | | | | | | | | 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
* Merge "Disable inlining in Optimizing when --debuggable is set."Nicolas Geoffray2015-03-131-0/+14
|\
| * Disable inlining in Optimizing when --debuggable is set.Nicolas Geoffray2015-03-131-0/+14
| | | | | | | | Change-Id: I6365269e606e0c176e518c06719ebdaf6a4c4b88
* | Tweak liveness when instructions are used in environments.Nicolas Geoffray2015-03-121-0/+3
|/ | | | | | | | | Instructions remain live when debuggable, but only instructions with object types remain live when non-debuggable. Enable StackVisitor::GetThisObject for optimizing. Change-Id: Id87b2cbf33a02450059acc9993995782e5f28987
* Revert "Revert "[optimizing] Enable x86 long support.""Nicolas Geoffray2015-03-111-14/+0
| | | | | | This reverts commit 154552e666347d41d95d7619c6ee56249ff4feca. Change-Id: Idc726551c249a888b7ff5fde8508ae50e81b2e13
* Test uses libart.so, so can't be run NDEBUG.Nicolas Geoffray2015-03-101-0/+1
| | | | Change-Id: I22c7391e07a9d06a8ce9a4d23a21ba9f60bcfe64
* Merge "Make the SSA builder honor the debuggable flag."Nicolas Geoffray2015-03-101-1/+14
|\
| * Make the SSA builder honor the debuggable flag.Nicolas Geoffray2015-03-101-1/+14
| | | | | | | | | | | | | | | | | | | | | | 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
* | Revert "Revert "More Makefile fun for --debuggable.""Nicolas Geoffray2015-03-091-38/+66
| | | | | | | | | | | | This reverts commit 9728a930fdf717cca60b48d9c2b715d0eed497fd. Change-Id: Ieca964a793e58f11931f78f50be47a4a9f0dc21f
* | Revert "More Makefile fun for --debuggable."Nicolas Geoffray2015-03-091-58/+31
|/ | | | | | This reverts commit bd648cd3aef1ce82aaaa85924b1178a7f499cc29. Change-Id: I9be508730dc5c25b9d08f914c5628e88bc4aa15b
* More Makefile fun for --debuggable.Nicolas Geoffray2015-03-061-31/+58
| | | | Change-Id: Icd4a4cf53907bf04b0d45211e264c9985045b55c
* Tests use libarttest.so, so does not work on ndebug.Nicolas Geoffray2015-03-031-0/+2
| | | | Change-Id: I0435e0a62592bd0f449bb52517efa9ac55ec8913
* Fix bad variable expansionMathieu Chartier2015-03-021-6/+6
| | | | | Bug: 19524713 Change-Id: I6537bc650e2690e5902576fd0e5a55142d91182a
* Change JIT tests to use interpreter imageMathieu Chartier2015-02-271-6/+12
| | | | | Bug: 19528920 Change-Id: I079cfcca7bb57e492c82a44f104e41228cb33b4f
* Add missing JIT stuff in make filesMathieu Chartier2015-02-261-2/+2
| | | | | | | Was causing core.oat to not be created. Bug: 19524713 Change-Id: I5da005fd36f9682623fdda9931280997b59c2681
* Revert "Revert "Add JIT""Mathieu Chartier2015-02-241-1/+9
| | | | | | | | Added missing EntryPointToCodePointer. This reverts commit a5ca888d715cd0c6c421313211caa1928be3e399. Change-Id: Ia74df0ef3a7babbdcb0466fd24da28e304e3f5af
* Merge "Revert "Add JIT""Nicolas Geoffray2015-02-241-9/+1
|\
| * Revert "Add JIT"Nicolas Geoffray2015-02-241-9/+1
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 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
* | Merge "Add JIT"Mathieu Chartier2015-02-241-1/+9
|\ \ | |/
| * Add JITMathieu Chartier2015-02-231-1/+9
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 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
* | ART: Allow the execution to stop if the compilation fails via an optionJean Christophe Beyler2015-02-231-1/+2
|/ | | | | | | | | | | | | | | | | | | | | 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>
* ART: Blacklist run-test 802 for tracingAndreas Gampe2015-02-181-0/+13
| | | | | | | | When in tracing mode, the test is meaningless as it won't force deoptimization. Bug: 18713034 Change-Id: I8bf2861c2937c5da73e3d7642e638818d2544fa8
* ART: Fix old run scriptsAndreas Gampe2015-02-041-2/+5
| | | | | | | | | | | | 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
* Force set resolved method for static invokesMathieu Chartier2015-01-281-1/+2
| | | | | | | | | | | | 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
* Fix makefile error.Nicolas Geoffray2015-01-231-3/+3
| | | | Change-Id: I797de0bed7b9c51cd7889de5144b8dbfd641335d