summaryrefslogtreecommitdiffstats
path: root/build
Commit message (Collapse)AuthorAgeFilesLines
* First optimization in new compiler: simple GVN.Nicolas Geoffray2014-09-191-0/+1
| | | | Change-Id: Ibe0efa4e84fd020a53ded310a92e0b4363f91b12
* Initiate a constant propagation pass in the optimizing compiler.Roland Levillain2014-09-181-0/+1
| | | | | | | | - Perform constant folding on int and long additions and subtractions in the optimizing compiler. - Apply constant folding to conditions and comparisons. Change-Id: Ic88783a3c975fda777c74c531e257fa777be42eb
* Initiate a dead code elimination pass in the optimizing compiler.Roland Levillain2014-09-171-0/+1
| | | | Change-Id: Ie9db5d8e2c2c30e34145a0f7d2386b8ec58cfc4e
* Add CFG and SSA form checkers in the optimizing compiler.Roland Levillain2014-09-171-0/+1
| | | | | | | | | | | | | | | | | Checks performed on control-flow graphs: - Ensure that the predecessors and successors of a basic block are consistent within a control-flow graph. - Ensure basic blocks end with a branch instruction. - Detect phi functions listed in non-phi instruction lists and vice versa. - Ensure a block's instructions (and phi functions) are associated with this very block. Checks performed on SSA form graphs: - Ensure an instruction dominates all its uses. - Ensure there are no critical edges. Change-Id: I1c12b4a61ecf608682152c897980ababa7eca847
* Avoid printing absolute addresses in oatdumpBrian Carlstrom2014-09-161-0/+1
| | | | | | | | | | | | | | | | | - Added printing of OatClass offsets. - Added printing of OatMethod offsets. - Added bounds checks for code size size, code size, mapping table, gc map, vmap table. - Added sanity check of 100k for code size. - Added partial disassembly of questionable code. - Added --no-disassemble to disable disassembly. - Added --no-dump:vmap to disable vmap dumping. - Reordered OatMethod info to be in file order. Bug: 15567083 (cherry picked from commit 34fa79ece5b3a1940d412cd94dbdcc4225aae72f) Change-Id: I2c368f3b81af53b735149a866f3e491c9ac33fb8
* Revert "Revert "Implement suspend checks in new compiler.""Nicolas Geoffray2014-09-161-0/+1
| | | | | | This reverts commit 7e3652c45c30c1f2f840e6088e24e2db716eaea7. Change-Id: Ib489440c34e41cba9e9e297054f9274f6e81a2d8
* Revert "Implement suspend checks in new compiler."Nicolas Geoffray2014-09-151-1/+0
| | | | | | This reverts commit 6fbce029fba3ed5da6c36017754ed408e6bcb632. Change-Id: Ia915c27873b021e658a10212e559095dfc91284e
* Implement suspend checks in new compiler.Nicolas Geoffray2014-09-151-0/+1
| | | | | | | For simplicity, they are currently placed on all (dex-level) back edges, and at method entry. Change-Id: I6e833e244d559dd788c69727e22fe40aff5b3435
* Fix valgrind errors.Nicolas Geoffray2014-09-111-9/+0
| | | | | | | | For now just stack allocate the code generator. Will think about cleaning up the root problem later (CodeGenerator being an arena object). Change-Id: I161a6f61c5f27ea88851b446f3c1e12ee9c594d7
* ART: Fix things for valgrindAndreas Gampe2014-09-102-1/+20
| | | | | | | | | | | | | | | | | | | | | | Wire up valgrind gtests. Add valgrind-test-art-host, currently only depending on valgrind-test-art-host-gtest32. Fix an Alloc setting to allow running valgrind. Refactor the fault handler to manage (and correctly release) the handlers. Fix minor failure-case leaks exposed by tests. Failing tests: The optimizing compiler is leaking non-arena-ed structures (e.g., assembler buffers), as code generators are not destroyed. The solution has been moved to a follow-up CL. Note: All 64b tests are failing as we cannot allocate a heap. Change-Id: I7f854cfd098d9f68107ce492363e7dba9a82b9fa
* Really fix tests.Alex Light2014-08-271-1/+3
| | | | | | | | | | | | Remove extra line in Android.run-test.mk. Update junit code in 082 and 021. Set correct bootclasspath for --no-image. Make host core.art depend on dex files being installed. Make 118 pass in the correct bootclasspath. Bug: 17290452 Change-Id: I415eddfa3632ec7eda927abe95925202de193749
* Add run-test support for running without a working patchoat/dex2oatAlex Light2014-08-261-0/+9
| | | | | | | | Also add it to the test-art target. Bug: 17262039 Change-Id: Id31130194c46df66fc48852d6f8884f14cb08db4
* Use loops to build combinations of run-tests.Ian Rogers2014-08-261-8/+11
| | | | | | | | | | 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
* ART: Add dex dependency for gtestAndreas Gampe2014-08-211-1/+1
| | | | Change-Id: I22d5e9b69e40585c6ee57381ee758b4b32e07f96
* ART: Set default visibility to protectedAndreas Gampe2014-08-191-1/+2
| | | | | | | | | | | | | | | Set default visibility of symbols to protected. This allows the linker to optimize internal calls and helps avoid plt calls. Make almost all assembly stubs hidden, as -fvisibility does not seem to apply to them. Change the assembly tests accordingly. Also allows to clean up previous hacks to avoid plt calls. Bug: 16974467 (cherry picked from commit 235e77bd9f19e4faefda109be40f8744f3a66f40) Change-Id: I9030dcf6116251f434f94a2b08e56e12085af652
* Really fix target gtest dependenciesBrian Carlstrom2014-08-181-2/+2
| | | | | | | | In 64006834b26f7138131fac87c3b0973cda70e560 we started depending on TARGET_CORE_JARS which are phony targets and undefined when using "mm test-art-target". Change-Id: I671c5d6068ff999782ad5f388f3077f4c1594884
* Prevent stubs from being installed in java.lang.reflect.Proxy.<init>.Jeff Hao2014-08-151-1/+1
| | | | | | | This CL is a better fix for proxy tracing and undoes the changes in https://android-review.googlesource.com/#/c/103025/ Change-Id: Ie82bb49f07774bd08a6720ddbe5b1f8ee9363acf
* Mark ParallelGC with gcstress failing.Nicolas Geoffray2014-08-141-1/+7
| | | | Change-Id: Id943286202bf5716588a61092b819d51069a2f53
* Support x86_64 stack overflow checks in opt compiler.Nicolas Geoffray2014-08-071-12/+0
| | | | | | Also re-enable SignalTest on optimizing-32. Change-Id: I2ca13f6f9ea775c654ee07cc5026c985263d6380
* Fix target and host gtest dependencies.Nicolas Geoffray2014-08-071-0/+3
| | | | Change-Id: I0da17b12fc2164d9d8bdb8bcf61947c7788c6b8b
* Merge "Fix proxy tracing and enable tests that now work with tracing."Jeff Hao2014-08-051-1/+1
|\
| * Fix proxy tracing and enable tests that now work with tracing.Jeff Hao2014-08-061-1/+1
| | | | | | | | | | | | | | Also updates proxy_test to generate an image for GetQuickOatCodeFor. Bug: 16386215 Change-Id: Ie7daad3d73ea7b60187bc1e7037ade0df8277107
* | Add card table test.Mathieu Chartier2014-08-061-0/+1
|/ | | | | | | | Tests some of the functionality supported by the card table. Removed some logcat spam from monitor_pool. Change-Id: I1423816a72572f78aca44552effa2b4c6aac46c8
* Revert "Rules depend on DEX2OATD, not DEX2OATD_DEPENDENCY."Brian Carlstrom2014-08-061-2/+2
| | | | | | This reverts commit b1efe9746724f28773d185c7137c16ca8207ed47. Change-Id: I5af2fae2c7b72e6ded72f00d3f7d4f306f6703ee
* Add --always-clean flag to run-test.Alex Light2014-07-301-0/+3
| | | | | | | | | 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
* Add a variable to disable PREBUILD in run-tests.Nicolas Geoffray2014-07-281-0/+3
| | | | Change-Id: I318d37a2d98972c689829258e129ec8973bdc038
* ART: Fix target test pathsAndreas Gampe2014-07-272-1/+9
| | | | | | Nativetest is now nativetest64 on 64b targets. Change-Id: I4c4c6bba1a56525df2993708caaae3e6f7f5f2f6
* Remove the per-project FDO support. Use the common FDO support from build/core.Dehao Chen2014-07-271-8/+0
| | | | | | LOCAL_FDO_SUPPORT indicates if the module should enable FDO builds. Change-Id: I1eab8bf418b7ceb060eea18bdd304a06597af3d3
* Merge "Add a new stack map scheme that encodes compilation info per pc."Nicolas Geoffray2014-07-231-0/+1
|\
| * Add a new stack map scheme that encodes compilation info per pc.Nicolas Geoffray2014-07-211-0/+1
| | | | | | | | | | | | | | | | Encodes stack mask, register mask, dex register values, and inlining info. The encoding is currently very straightforward: there is no clever encoding, nor compression. Change-Id: I5fd9ae28189a5513cd9e3c8d52c648463207643d
* | ART: Turn on ART_TEST_KEEP_GOING by default, clean up unused varsAndreas Gampe2014-07-241-7/+1
| | | | | | | | Change-Id: I8db60eade0338e53e76a87ef38ad661550475e3c
* | Increase limit to 2600 on host clang builds for frame size.Stephen Hines2014-07-231-1/+1
| | | | | | | | Change-Id: I573e1bcdc7a935145e88077def9c90a5573d2e90
* | Merge "Update frame-larger-than limit to 2440 for new clang."Stephen Hines2014-07-231-3/+14
|\ \
| * | Update frame-larger-than limit to 2440 for new clang.Stephen Hines2014-07-231-3/+14
| |/ | | | | | | | | | | | | | | | | | | Bug: 16362912 The latest version of clang is generating larger frames on elf_writer_quick.cc and dex2oat.cc than we had previously encountered. This change unblocks the LLVM rebase temporarily. Change-Id: I20d9f88959b91e0509e58f01c22532720225f44d
* | ART: Make run tests out of oat testsAndreas Gampe2014-07-231-1/+21
| | | | | | | | | | | | Transforms all former oat tests into run tests. Change-Id: I190dd39456454c36e5538a2c044d993965a67533
* | Use the TMPDIR environment variable for test directory if set.Ian Rogers2014-07-231-0/+4
| | | | | | | | | | | | Bug: 16499668 Change-Id: I7da5559c13597d7bca4e4037a1e9335f0b6d8230
* | Rewrite topological sort order and improve GVN.Vladimir Marko2014-07-231-0/+1
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Rewrite the topological sort order to include a full loop before the blocks that go after the loop. Add a new iterator class LoopRepeatingTopologicalSortIterator that differs from the RepeatingTopologicalSortIterator by repeating only loops and repeating them early. It returns to the loop head if the head needs recalculation when we reach the end of the loop. In GVN, use the new loop-repeating topological sort iterator and for a loop head merge only the preceding blocks' LVNs if we're not currently recalculating this loop. Also fix LocalValueNumbering::InPlaceIntersectMaps() which was keeping only the last element of the intersection, avoid some unnecessary processing during LVN merge and add some missing braces to MIRGraph::InferTypeAndSize(). Bug: 16398693 Change-Id: I4e10d4acb626a5b8a28ec0de106a7b37f9cbca32
* | Rules depend on DEX2OATD, not DEX2OATD_DEPENDENCY.Nicolas Geoffray2014-07-231-2/+2
| | | | | | | | | | | | If dex2oatd changes, we need to re-run .oat/.art file generation. Change-Id: I43487e024745b22b1681f4ff558bac6fd07d9881
* | Merge "Changed default non-full tests to be prebuild."Andreas Gampe2014-07-221-2/+2
|\ \
| * | Changed default non-full tests to be prebuild.Alex Light2014-07-221-2/+2
| | | | | | | | | | | | | | | | | | Also added ability to turn off non-prebuild manually. Change-Id: I0315ac43703a9c7e79812658523013799fb5d5dd
* | | Put oat test output on stderr.Ian Rogers2014-07-221-1/+1
|/ / | | | | | | Change-Id: Iad318f63263dc5d264d8a84eacedf5065a4e5248
* | Runtime can now be set to require relocationAlex Light2014-07-222-0/+34
| | | | | | | | | | | | | | | | | | | | | | | | | | | | 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
* | Stack overflow checks and NPE checks for optimizing.Nicolas Geoffray2014-07-221-4/+1
| | | | | | | | Change-Id: I59e97448bf29778769b79b51ee4ea43f43493d96
* | Redirect failing test output to stderr.Ian Rogers2014-07-211-1/+1
| | | | | | | | Change-Id: I8feeeef569854476d33fdc613182dbe16f7ba53c
* | Add write barriers to optimizing compiler.Nicolas Geoffray2014-07-211-0/+1
|/ | | | Change-Id: I43a40954757f51d49782e70bc28f7c314d6dbe17
* Add a GC stress run that uses a moving collector and small heap sizes.Ian Rogers2014-07-181-0/+3
| | | | | | | | | 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
* Add GC verification test rules.Ian Rogers2014-07-181-0/+3
| | | | Change-Id: I7469ecaf98f680e7e642035f3536b00bdd97b486
* Allow optimizing and trace tests to be not run.Ian Rogers2014-07-181-0/+9
| | | | | | | | | | | | 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
* Merge "Use the thumb2 assembler for the optimizing compiler."Nicolas Geoffray2014-07-171-1/+2
|\
| * Use the thumb2 assembler for the optimizing compiler.Nicolas Geoffray2014-07-161-1/+2
| | | | | | | | Change-Id: I2b058f4433504dc3299c06f5cb0b5ab12f34aa82