summaryrefslogtreecommitdiffstats
path: root/build
Commit message (Collapse)AuthorAgeFilesLines
* art: Disable ART_HOST_CLANG on darwin builds.Adnan Begovic2016-01-111-0/+6
| | | | Change-Id: I9d34cfea13fe4e6902e02cfb9d2de7610ced878c
* Art: disable host clang by defaultDave Daynard2016-01-071-1/+1
| | | | | | | | | Otherwise my builds crash and burn because I don't know how to set up host clang properly and honestly, do we really need "better warnings" for ART? I mean, this is one part of the OS that for the most part we are not going to fuck with Change-Id: Ie45a6926510ec12aedc3cfac79d00ee842a7778b
* ART: Disable Clang for armAndreas Gampe2015-11-061-1/+2
| | | | | | | Disable Clang for arm32 until a fix for the issue is found. Bug: 25130937 Change-Id: Ia33f387b89ac8d1e8eac9a2782c45f038b9e8a1a
* Support compiling run-tests with jackSebastien Hertz2015-07-091-0/+4
| | | | | | | | | | | | | | | | | | | | | | | | 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
* ART: Fix streaming tracing issuesAndreas Gampe2015-06-261-0/+3
| | | | | | | | | | | | 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-2/+2
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 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
* Fix valgrind includesDmitriy Ivanov2015-05-271-2/+2
| | | | | | | | | | | external/valgrind structure has been changed to reflect upstream projects struture. Making corresponding changes to art includes. Bug: http://b/21471495 Change-Id: I2434a270f88502528df82c4820afedb002b65b8d (cherry picked from commit 6130f739d8f35e01037ba5c3ec5e5a1057900479)
* Add missing oatdump test dependencyMathieu Chartier2015-05-261-0/+10
| | | | | | | (cherry picked from commit ea216b3abf96d4121a96e8fdab5ce97d7f4d1c2b) Bug: 18000316 Change-Id: Ic828e8be8e5d3ef7e112facd0db57013740d449a
* Add oatdump testMathieu Chartier2015-05-261-0/+1
| | | | | | | | (cherry picked from commit 19510f02b011e545665f6219e6144c8e47aed5f0) Bug: 18000316 Change-Id: Ic22d63dc64a9b7a492b5e6bfbd4c75f30c35dfd5
* ART: Clean up arm64 kNumberOfXRegisters usage.Vladimir Marko2015-05-261-0/+2
| | | | | | | | | | | | | | | | | | | | | Avoid undefined behavior for arm64 stemming from 1u << 32 in loops with upper bound kNumberOfXRegisters. Create iterators for enumerating bits in an integer either from high to low or from low to high and use them for <arch>Context::FillCalleeSaves() on all architectures. Refactor runtime/utils.{h,cc} by moving all bit-fiddling functions to runtime/base/bit_utils.{h,cc} (together with the new bit iterators) and all time-related functions to runtime/base/time_utils.{h,cc}. Improve test coverage and fix some corner cases for the bit-fiddling functions. Bug: 13925192 (cherry picked from commit 80afd02024d20e60b197d3adfbb43cc303cf29e0) Change-Id: I905257a21de90b5860ebe1e39563758f721eab82
* ART: Refactor UnstartedRuntime for testingAndreas Gampe2015-05-211-0/+1
| | | | | | | | | | | | Expose the UnstartedRuntime implementation functions as private static methods of a class. Add a gtest that can invoke these functions. Add sample tests for String and Memory. Bug: 21173514 (cherry picked from commit 799681b176ad25437ce2849639f54f610dcbf684) Change-Id: Ib5bde6347fafaf7607c642542ea7d5938ff4b1df
* ART: Fix gtest dependencyAndreas Gampe2015-05-201-1/+1
| | | | | | | | | | Gtests should depend on the debug version of libart-disassembler. Bug: 21273194 (cherry picked from commit 0ae3bf872d3898ed6826216f3f8a04c819e1426b) Change-Id: Iaf216a1c0cff650296ebf83fe4e8352f5614cb28
* Merge "Test and fix bug checking status of secondary multidex files." into ↵Richard Uhler2015-05-181-1/+2
|\ | | | | | | mnc-dev
| * Test and fix bug checking status of secondary multidex files.Richard Uhler2015-05-181-1/+2
| | | | | | | | | | | | | | | | | | We were accidentally returning 'false' instead of 'true' to indicate a native multidex file with an up-to-date primary dex file checksum but out-of-date secondary dex file checksum is out of date. Bug: 21022815 Change-Id: I43d360ca9251d0df38ad7f8289f6ef339c0a3280
* | Undo arm64 workaround.Chih-Hung Hsieh2015-05-151-4/+0
|/ | | | | | | | Now we have new llvm to compile art for arm64 without -fno-vectorize. BUG: 21080674 Change-Id: Id1b3a88ab9d4cf78b7f0dfd8cb435ed6e7ab7cb2 (cherry picked from commit b6cee946d44dc1e961c9656830b567e38104f896)
* Support multiple instrumentation clientsSebastien Hertz2015-05-071-0/+3
| | | | | | | | | | | Changes Instrumentation::ConfigureStubs to support multiple clients that need different levels of instrumenation. A client is identified by a string key used to save the desired instrumentation level. Also adds regression gtest instrumentation_test and some cleanup. Bug: 19829329 Change-Id: I1fc24a86fcb7cb46d4be806895376c25cc0a0b3c
* Re-enable clang for Mips/Mips64 targets.Duane Sand2015-05-011-11/+2
| | | | | | | | | | | The build-time errors described in https://android-review.googlesource.com/#/c/120512 are no longer happening. BUG: 18807290 BUG: 18789639 Change-Id: I195bbb7d102fecd6a6e6a3357b0863dd6fddb01f
* Replace String CharArray with internal uint16_t array.Jeff Hao2015-04-271-0/+1
| | | | | | | | | | | | Summary of high level changes: - Adds compiler inliner support to identify string init methods - Adds compiler support (quick & optimizing) with new invoke code path that calls method off the thread pointer - Adds thread entrypoints for all string init methods - Adds map to verifier to log when receiver of string init has been copied to other registers. used by compiler and interpreter Change-Id: I797b992a8feb566f9ad73060011ab6f51eb7ce01
* ART: Fix addpd opcode, add Quick x86 assembler testChao-ying Fu2015-04-251-0/+1
| | | | | | | | | This patch fixes the addpd opcode that may be used by vectorizations, and adds an assembler test for the Quick x86 assembler, currently lightly testing addpd, subpd and mulpd. Change-Id: I29455a86212829c75fd75737679280f167da7b5b Signed-off-by: Chao-ying Fu <chao-ying.fu@intel.com>
* Revert "Revert "Quick: Rewrite type inference pass.""Vladimir Marko2015-04-231-0/+2
| | | | | | | | | Fix the type of the ArtMethod* SSA register. Bug: 19419671 This reverts commit 1b717f63847de8762e7f7bdd6708fdfae9d24a67. Change-Id: Ie4da3c03a0e0334a39a24718f6dc31f9255cfb53
* Revert "Quick: Rewrite type inference pass."Andreas Gampe2015-04-221-2/+0
| | | | | | | | Breaks arm64, as the method register is not correctly flagged as ref and thus 32bit. Bug: 19419671 This reverts commit e490b01c12d33f3bd5c247b55b47e507cc9c8fab.
* Quick: Rewrite type inference pass.Vladimir Marko2015-04-221-0/+2
| | | | | | | | | | | Use method signatures, field types and types embedded in dex insns for type inference. Perform the type inference in two phases, first a simple pass that records all types implied by individual insns, and then an iterative pass to propagate those types further via phi, move, if-cc and aget/aput insns. Bug: 19419671 Change-Id: Id38579d48a44fc5eadd13780afb6d370093056f9
* ART: Add compiled-methodsAndreas Gampe2015-04-211-1/+1
| | | | | | | | | | | Add a dex2oat option for compiled-methods, a more granular filter than compiled-classes. Add compiler-driver support for it. Refactor dex2oat to reuse file reading. Add a test to oat_test. Change-Id: I78d0d040bce7738b4bb7aabe7768b5788d2587ac
* Move GetAndroidToolsDir to common location.David Srbecky2015-04-211-0/+1
| | | | | | | Move the code which looks for the prebuilts directory to CommonRuntimeTest and add test for it. Change-Id: Id804de31c466656957fdd4b6a470f80a00477aed
* ART: Store classpath information into oat fileAndreas Gampe2015-04-141-0/+1
| | | | | | | | | | | Store a "dependency list" of class-path dex-files into the key-value store of an oat file. The list is made up of dex locations and corresponding checksums. Add tests for encoding, decoding and checking the list. Bug: 19781184 Change-Id: Ie700dd37e6e086db599c95d329ac1f1d2ff0b758
* Implement CFI for Optimizing.David Srbecky2015-04-091-0/+1
| | | | | | CFI is necessary for stack unwinding in gdb, lldb, and libunwind. Change-Id: I1a3480e3a4a99f48bf7e6e63c4e83a80cfee40a2
* Implement CFI for JNI.David Srbecky2015-04-081-0/+1
| | | | | | CFI is necessary for stack unwinding in gdb, lldb, and libunwind. Change-Id: I37eb7973f99a6975034cf0e699e138c3a9aba10f
* Implement CFI for Quick.David Srbecky2015-04-081-1/+2
| | | | | | CFI is necessary for stack unwinding in gdb, lldb, and libunwind. Change-Id: Ic3b84c9dc91c4bae80e27cda02190f3274e95ae8
* ART: Turn off missing-noreturn for MacAndreas Gampe2015-04-061-2/+8
| | | | | | Too much stuff unimplemented and causing warnings. Change-Id: I43bae875f1eca3cc24e03b0e7d6fdfd2adae0cbd
* ART: Fix gtests for missing-noreturnAndreas Gampe2015-04-061-4/+4
| | | | | | gtest.h isn't sufficiently annotated. Change-Id: I3d5fac8bcdd645227bfd7886c3aa781b225fcc9c
* ART: Enable more Clang warningsAndreas Gampe2015-04-061-0/+3
| | | | Change-Id: Ie6aba02f4223b1de02530e1515c63505f37e184c
* ART: Enable Clang's -WdeprecatedAndreas Gampe2015-04-062-4/+7
| | | | | | | | | Replace throw() with noexcept. Add default copy constructors and copy assignment constructors for cases with destructors, as the implicit definition is deprecated. Change-Id: Ice306a3f510b072b00bec4d4360f7c8055135c9d
* ART: Add Clang's -Wused-but-marked-unusedAndreas Gampe2015-04-032-0/+8
| | | | | | Add detection of wrong unused annotations. Fix our codebase. Change-Id: I85cc20f2eac71c1ec6c5c7cd6efb08454a629634
* Add tests for Arm64RelativePatcher.Vladimir Marko2015-04-021-0/+1
| | | | Change-Id: I9d2c21d323137ac143eabb8fdf6ca075bae45c51
* Add tests for Thumb2RelativePatcher.Vladimir Marko2015-04-021-0/+1
| | | | | | | | Also make the thumb2/arm64 thunk allocation precise instead of eagerly allocating thunk space. This allows the calls to use the maximum positive offset. Change-Id: Ifa95b0bb00bd73eeab0c2905d21e2f3078f4b0a8
* Refactor RelativePatcher out of OatWriter.Vladimir Marko2015-04-021-0/+2
| | | | | | | | | Move the relative patcher classes to compiler/linker/ and compiler/linker/<arch>/ . Refactor them to avoid OatWriter dependency so that they can be unit tested. Add tests for x86 and x86-64. Change-Id: I1b42baa9fc431378e4cce1399bec590c5b5a409f
* Merge "Revert "Revert "Add small library for writing of DWARF data."""David Srbecky2015-03-311-0/+1
|\
| * Revert "Revert "Add small library for writing of DWARF data.""David Srbecky2015-03-311-0/+1
| | | | | | | | | | | | | | | | Use objdump from prebuilts. This reverts commit 1ded5beffa4bae6203e1fa03903c6ffa2766bf4c. Change-Id: I91f61a91827406930039ccf8691359b1c2636640
* | Merge "Revert "Add small library for writing of DWARF data.""Nicolas Geoffray2015-03-311-1/+0
|\ \ | |/
| * Revert "Add small library for writing of DWARF data."Nicolas Geoffray2015-03-311-1/+0
| | | | | | | | | | | | | | | | objdump differences on the bots This reverts commit 75c3d61011a06c1253e773c42e53ee6f137dbe53. Change-Id: Ie5947a27b9fe5de9d5f0838a024b5cf646ec701e
* | Merge "Add small library for writing of DWARF data."David Srbecky2015-03-311-0/+1
|\ \ | |/
| * Add small library for writing of DWARF data.David Srbecky2015-03-311-0/+1
| | | | | | | | Change-Id: Ifa77aec7584bfcdcc05ddb049c160be9b6dda7c5
* | ART: PathClassLoader for compilerAndreas Gampe2015-03-271-1/+1
|/ | | | | | | | | | | | | | | | | | | | Use an actual PathClassLoader when compiling apps, instead of a side structure and cutout. This CL sets up a minimal object 'cluster' that recreates the Java side of a regular ClassLoader such that the Class-Linker will recognize it and use the internal native fast-path. This CL removes the now unnecessary compile-time-classpath and replaces it with a single 'compiling-the-boot-image' flag in the compiler callbacks. Note: This functionality is *only* intended for the compiler, as the objects have not been completely initialized. Bug: 19781184 Change-Id: I7f36af12dd7852d21281110a25c119e8c0669c1d
* Merge "Support relative encoded dex locations in oat files."Richard Uhler2015-03-251-0/+1
|\
| * Support relative encoded dex locations in oat files.Richard Uhler2015-03-241-0/+1
| | | | | | | | | | | | | | | | | | Now when opening an oat file, the caller can pass an absolute dex location used to resolve the absolute path for any relative encoded dex locations in the oat file. Bug: 19550105 Change-Id: I6e9559afe4d86ac12cf0b90176b5ea696a83d0e7
* | Add code cache testMathieu Chartier2015-03-231-0/+1
| | | | | | | | | | Bug: 17950037 Change-Id: I13913667517db5bb9b7224f0639c2b39cf3a1973
* | Merge "ART: Change the isa defaults for Mips"Andreas Gampe2015-03-201-0/+1
|\ \
| * | ART: Change the isa defaults for MipsDouglas Leung2015-03-201-0/+1
| |/ | | | | | | | | | | | | | | Select the correct cpu variant for ART and select the default features based on compile flags for when the variant is not defined. Change-Id: I13622db85446ed6fbb467a699d8d3e27833f6f88
* | Make it possible to enable tlab with a build parameter.Hiroshi Yamauchi2015-03-201-0/+4
|/ | | | | | For testing. Change-Id: I4d06a4db733b7fa09105f068028483cf88db7925
* Merge "Add missing patchoatd dependency for oat_file_assistant_test."Richard Uhler2015-03-121-2/+8
|\