summaryrefslogtreecommitdiffstats
path: root/build
Commit message (Collapse)AuthorAgeFilesLines
* Fix dependencies in the test suite for multi-target testsAndreas Gampe2014-04-213-4/+79
| | | | Change-Id: I94dd767490a7cd8cceddc158d90f56f5bd3fef26
* Preparation for transition to libc++.Ian Rogers2014-04-164-12/+29
| | | | | | | Move the dependency on libc++ to its own makefile so that we can switch in a single place between libc++ and stlport. Change-Id: Ie61e7d054dcd049e36d5e7298c27d8a4abe6edf7
* Merge "Long support in optimizing compiler."Nicolas Geoffray2014-04-161-0/+1
|\
| * Long support in optimizing compiler.Nicolas Geoffray2014-04-161-0/+1
| | | | | | | | | | | | | | | | | | - Add stack locations to the Location class. - Change logic of parameter passing/setup by setting the location of such instructions the ones for the calling convention. Change-Id: I4730ad58732813dcb9c238f44f55dfc0baa18799
* | art: Use SIRT::GetAlignedSirtSizeTarget in calling conventionDmitry Petrochenko2014-04-101-0/+1
|/ | | | | | | | | | Calculate frame size based on SIRT::GetAlignedSirtSizeTarget existing method. Make offset functions pointer-size-dependent for cross-compiling. Add a test to check whether our computations are correct. Change-Id: Ic66daf6f9908890eda906bdcbbc4444c4fef614f Signed-off-by: Dmitry Petrochenko <dmitry.petrochenko@intel.com>
* AArch64: Fix Managed Register unit testsSerban Constantinescu2014-04-071-2/+2
| | | | | | | | Fixes the XZR change introduced by one of the previous patches. It also adds extra testing for VIXL register integration. Change-Id: I4935f06726e25829613ef7bb6ac052d82056812c Signed-off-by: Serban Constantinescu <serban.constantinescu@arm.com>
* force dex2oat target executables to be compiled for 32-bitColin Cross2014-04-021-0/+3
| | | | | | | | 64-bit dex2oat doesn't support 32-bit targets yet, force dex2oat target executables to compile 32-bit for now by passing in a value for LOCAL_MULTILIB to build-art-executable. Bug: 13764385 Change-Id: I41adba1e64f373e4b61a3c13af2592ed4f7d0b57
* Update missed DEX2OAT -> DEX2OATD changes.Nicolas Geoffray2014-04-021-2/+2
| | | | Change-Id: I9556ac9ce30fe057e8b278858303e25c547e86ba
* Use debug version of DEX2OAT explicitly.Nicolas Geoffray2014-04-021-2/+3
| | | | Change-Id: I57b4c8caedcc6bfbeaa541d8171f8b5b3069c584
* Build changes to build multilib testsAndreas Gampe2014-04-015-35/+98
| | | | | | | | | | | | | | | | | | | | | | Test files will be emitted into directories for both first and second target architectures. Going with the naming scheme for binaries, single-architecture and 32b cases have the standard name, and 64b goes into a directory with "64" suffix. In multi-architecture setups, the default concrete test targets are extended with a "32" and "64" suffix, e.g., test-art-target-oat-JniTest64. The suffix-less form is linked to the primary architecture target (usually 64). That means running combined targets, e.g., test-art-target-oat, will only test the primary architecture right now. Fixed target run tests calling the right dalvikvm. Fixed library search path for tests derived from CommonRuntimeTest. Missing in this work-in-progress is correct handling of dex2oat for the secondary architecture. To make it work on 64b, comment out line 101 in build/Android.executable.mk Change-Id: I3d260994e6efe8b73b56c71994053cc9392943a9
* Add -lpthread -ldl to link executable/testsAndrew Hsieh2014-04-012-0/+2
| | | | | | | | | | | | | | | | | | | | The new binutils-2.23 based linker in prebuilts/gcc/linux-x86/host/x86_64-linux-glibc2.11-4.6 no longer implicity adds dependencies on *so an executable needs. eg. ld -o barrier_test barrier_test.o common_runtime_test.o ... -lartd produces error messages read art/runtime/thread-inl.h:43: error: undefined reference to 'pthread_getspecific' art/runtime/common_runtime_test.h:219: error: undefined reference to 'dlsym' external/gtest/src/../include/gtest/internal/gtest-port.h:1482: error: undefined reference to 'pthread_getspecific' because libartd.so DT_NEEDED libdl.so and libpthread.so, and new linker no longer implicitly add both to dependencies. Explicitly add -lpthread -ldl to fix the issue Change-Id: Ic29c68480b2ed55d282be949640b9158411f213d
* Fix host gtests compiled with gccBrian Carlstrom2014-03-251-1/+5
| | | | | | (cherry picked from commit d016e1fab648093706f85cc78b63da0f3f487733) Change-Id: I5d2b8061278fd5a477ec87395fca435a3da801a3
* Merge "Fix missing link line for libgtest_host."Tim Murray2014-03-251-9/+1
|\
| * Fix missing link line for libgtest_host.Tim Murray2014-03-201-9/+1
| | | | | | | | | | | | bug 13435344 Change-Id: If4197ddb97b235c731e4c771968eae46483d55b3
* | HACK: force target art executables to be compiled for 32-bitColin Cross2014-03-201-0/+2
| | | | | | | | | | | | | | 64-bit dex2oat doesn't support 32-bit targets yet, force all art executables to compile 32-bit for now. Change-Id: If69f0a45e55104a5e915a9c58afa9009aa68b71c
* | AArch64: Add arm64 runtime support.Stuart Monteith2014-03-191-1/+1
|/ | | | | | | | | Adds support for arm64 to ART. Assembler stubs are sufficient for down calls into interpreter. JNI compiler and generics are not finished. Basic Generic JNI functionality. Change-Id: I4a07c79d1e037b9f5746673480e32cf456867b82
* Fix lint error, and Makefile that could be confused with local files.Nicolas Geoffray2014-03-181-1/+1
| | | | Change-Id: I780cc0d6593eadd6f82e1126d7ad445894af666c
* Class initialization check elimination.Vladimir Marko2014-03-171-0/+1
| | | | | | | | Also, move null check elimination temporaries to the ScopedArenaAllocator and reuse the same variables in the class initialization check elimination. Change-Id: Ic746f95427065506fa6016d4931e4cb8b34937af
* Refactor reflective method invocation.Ian Rogers2014-03-141-0/+1
| | | | | | | | | | Move invocation code out of JNI internal into reflection, including ArgArray code. Make reflective invocation use the ArgArray to build arguments rather than allocating a jvalue[] and unboxing arguments into that. Move reflection part of jni_internal_test into reflection_test. Make greater use of fast JNI. Change-Id: Ib381372df5f9a83679e30e7275de24fa0e6b1057
* Merge "Fix debugger crashes in presence of proxy objects."Sebastien Hertz2014-03-131-0/+1
|\
| * Fix debugger crashes in presence of proxy objects.Sebastien Hertz2014-03-131-0/+1
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Fix ClassHelper::NumDirectInterfaces to use IfTable::Count instead of the iftable array's length (which is twice the interface count). This happens when processing ReferenceType::Interfaces command and was causing a crash. Return ABSENT_INFORMATION error code when we're asked for the source file of a proxy class. Otherwise we call ClassHelper::GetSourceFile which expect the class has a corresponding ClassDef item in the DEX file which is not true for proxy classes. Add new proxy_test to check ClassHelper works correctly with proxy classes. Bug: 13426918 Change-Id: I5c1212b1a697dd7dc1ab18e99552ee113c533a5a
* | Add command line support for enabling the optimizing compiler.Nicolas Geoffray2014-03-131-0/+17
| | | | | | | | | | | | | | Also run tests with the optimizing compiler enabled when the file art/USE_OPTIMIZING_COMPILER is present. Change-Id: Ibc33eed62a43547bc3b9fe786d014c0d81b5add8
* | Fixed and refactored 64b host buildAndreas Gampe2014-03-122-7/+7
|/ | | | | | | | Add a global variable ART_HOST_ARCH in build/Android.common.mk that will be set to x86 or x86_64 depending on BUILD_HOST_64bit. This is then used as the instruction set for dex2oat. Change-Id: Icec8ef9139f780314a3ff325a729750e65d6d8da
* Disable host clang only if WITHOUT_HOST_CLANG is setYing Wang2014-03-101-1/+1
| | | | | Bug: 13402154 Change-Id: Ib915e31106aeb2adf64f8fa5d008b34debc205d7
* Support WITHOUT_CLANG buildsBrian Carlstrom2014-03-091-6/+5
| | | | | | (cherry picked from commit c9f7723cdb39f9791775166ec1942e456086ad3c) Change-Id: I9443e73a07b81038452c694a2f138faecdeff500
* Work around arm64 host prebuilt differences.Ian Rogers2014-03-081-2/+8
| | | | Change-Id: I345c994b06cc513f67270907f3877ad78dbadcc7
* JNI down call fixes.Ian Rogers2014-03-091-0/+4
| | | | | | | Ensure SIRT isn't accessed via quick callee save frame. Some tidying of code. Change-Id: I8fec3e89aa6d2e86789c60a07550db2e92478ca7
* Revert "Revert "Make clang the default compiler on host.""Ian Rogers2014-03-081-5/+1
| | | | | | This reverts commit d54f3a6219bca6ae018f4395fa0f1254bd4459be. Change-Id: Id96bb52a0d599f8848010d1589bdf0f70fc7124b
* Revert "Make clang the default compiler on host."Ian Rogers2014-03-081-1/+5
| | | | | | This reverts commit 87f8b4cf0c1d6aab3eb5d1e99cc4e7cf175ef772. Change-Id: I91a513042f0f9cf66288a296ad4a3b5da7830c7b
* Make clang the default compiler on host.Ian Rogers2014-03-071-5/+1
| | | | | | | | | | | | | Motivation, GCC's compiler warnings are inferior to clang's. -Wthread-safety is not supported by GCC starting with version 4.7. As this change only effects the host, performance issues are an impact on host building and testing alone. Fix clang gtest building on host with BUILD_HOST_64bit. Fix clang build regressions caused by unused fields. Fix x86-64 regression caused by requirement to fire-up quick compiler even in an interpret-only environment. Long-term this code doesn't belong in the quick compiler. Change-Id: Ifc2b10177f40d0724cbbf8dab9653ac03cdd1cee
* Enable annotalysis on clang ART builds.Ian Rogers2014-03-061-9/+11
| | | | | | | | | | | Fix clang build errors aswell as restructure locking/mutex code for correct thread safety analysis support. Reorder make dependencies so that host builds build first as they should provide better compilation errors than target. Remove host's use of -fno-omit-frame-pointer as it has no value with correct use of CFI, which we should have. Change-Id: I72cea8da9a3757b1a0b3acb4081feccb7c6cef90
* Fix host architecture for 64bit.Ian Rogers2014-03-061-1/+7
| | | | | | | | Also, hack x86 assembler for use as a x86-64 trampoline compiler's assembler. Implement missing x86-64 quick resolution trampoline. Add x86-64 to the quick elf writer. Change-Id: I08216c67014a83492ada12898ab8000218ba7bb4
* AArch64: Add ARM64 AssemblerSerban Constantinescu2014-03-052-0/+2
| | | | | | | | | This patch adds the ARM64 Assembler and ManagedRegister backend. The implementation of the Arm64Assembler class is based on VIXL (a programmatic A64 Assembler - see external/vixl ). Change-Id: I842fd574637a953c19631eedf26f6c70d9ed7f9e Signed-off-by: Serban Constantinescu <serban.constantinescu@arm.com>
* Merge "Add codegen support to the optimizing compiler."Nicolas Geoffray2014-03-051-0/+1
|\
| * Add codegen support to the optimizing compiler.Nicolas Geoffray2014-03-041-0/+1
| | | | | | | | Change-Id: I9aae76908ff1d6e64fb71a6718fc1426b67a5c28
* | Remove oat file location in the image.Nicolas Geoffray2014-03-041-1/+1
| | | | | | | | | | | | | | | | | | The oat file is now always in the same directory, and has the same name as the image file. Only difference is the extension. This also removes the need for host-prefix. Change-Id: I16d1f7aeb1d58372d41921694664e9c321afc1ad
* | Add ART -help and -showversionBrian Carlstrom2014-03-031-1/+1
| | | | | | | | | | Bug: https://code.google.com/p/android/issues/detail?id=62149 Change-Id: I5c21c0433f5f341f94e7d977e8d2d69cc46d6fe3
* | Further split of the space testsAndreas Gampe2014-03-031-2/+6
| | | | | | | | | | | | | | | | Split the random-size allocations from the static-size allocation tests Have all tests have distinguished names Bug: 13117676 Change-Id: I40130b04d11715b9bd1d1ea8d76720f83af6ba82
* | Fix clang to compile and run host tests.Ian Rogers2014-02-282-5/+5
|/ | | | | | | | | | | | | | Don't use the computed goto interpreter with clang 3.4 as it causes compilation to hang. Avoid inclusion of LLVM_(HOST|DEVICE)_BUILD_MK except for with portable as it sets clang incompatible cflags. Most fixes are self-evident, for the quick dex file method inliner the enums were being used with ostreams, so fix the enums and operator out python script to allow this. Note this change effects portable but this is untestable as portable was broken by ELF file and mc linker changes. Change-Id: Ia54348f6b1bd3f76d3b71c6e8c5f97626386b903
* Split up CommonTest into CommonRuntimeTest and CommonCompilerTestBrian Carlstrom2014-02-261-38/+52
| | | | Change-Id: I8dcf6b29a5aecd445f1a3ddb06386cf81dbc9c70
* Merge "Add conditional branches, and build dominator tree."Nicolas Geoffray2014-02-261-0/+1
|\
| * Add conditional branches, and build dominator tree.Nicolas Geoffray2014-02-261-0/+1
| | | | | | | | Change-Id: I4b151a07b72692961235a1419b54b6b45cf54e63
* | Split space_test into separate checksAndreas Gampe2014-02-211-1/+3
| | | | | | | | | | | | | | Split space_test by space type: dlmalloc, rosalloc and large object space to facilitate parallelized testing. Bug: 13117676 Change-Id: I152dc03717c26dfcf14e93ba2b39f83612a5f560
* | Fix and rewrite local value numbering.Vladimir Marko2014-02-211-0/+1
|/ | | | | | | | | Fix memory versioning to take aliasing and method calls into account. Use more instructions for the null check elimination. Return the local value name of the register defined by the instruction if applicable. Change-Id: I4560bc680ae1ad553a7a00fa092c937e3da9fbbe
* Code cleanup to avoid LLVM dependency when building with quick only.Nicolas Geoffray2014-02-201-0/+2
| | | | Change-Id: I0985c227d775c72fd23975d4c9bf673ba32615c2
* Merge "art: convert makefiles to support multilib build"Colin Cross2014-02-194-4/+14
|\
| * art: convert makefiles to support multilib buildColin Cross2014-02-184-4/+14
| | | | | | | | | | | | | | | | Convert makefiles to allow for building two architectures at the same time. More changes may be necessary to get the tests to build. Change-Id: I02ba11706b7e5b5592d76e43c167bcbf0e665b93
* | Re-apply: Initial check-in of an optimizing compiler.Nicolas Geoffray2014-02-191-1/+2
| | | | | | | | | | | | | | | | | | The classes and the names are very much inspired by V8/Dart. It currently only supports the RETURN_VOID dex instruction, and there is a pretty printer to check if the building of the graph is correct. Change-Id: I28e125dfee86ae6ec9b3fec6aa1859523b92a893
* | Revert "Initial check-in of an optimizing compiler."Nicolas Geoffray2014-02-191-2/+1
| | | | | | | | | | | | | | | | g++ warnings turned into errors. This reverts commit 68a5fefa90f03fdf5a238ac85c9439c6b03eae96. Change-Id: I09bb95d9cc13764ca8a266c41af04801a34b9fd0
* | Initial check-in of an optimizing compiler.Nicolas Geoffray2014-02-191-1/+2
| | | | | | | | | | | | | | | | | | The classes and the names are very much inspired by V8/Dart. It currently only supports the RETURN_VOID dex instruction, and there is a pretty printer to check if the building of the graph is correct. Change-Id: Id5ef1b317ab997010d4e3888e456c26bef1ab9c0