ea6f8d87d5396cf450c6dfb6f17159c7babcad87 |
|
10-Dec-2015 |
Roland Levillain <rpl@google.com> |
Fix the build-art-multi-executable Make function. Follow-up fix to https://android-review.googlesource.com/#/c/185537. Bug: 26051370 Change-Id: I891abe5ec2a2eae775b9791050654602861798f4
|
3045cfe0ae439aa94cf7b770a9e329c7edc1fc8a |
|
10-Dec-2015 |
Roland Levillain <rpl@google.com> |
Fix imgdiag build rules. Adjust build rules to avoid building a 64-bit imgdiag executable on host when HOST_PREFER_32_BIT is true. This CL addresses an imgdiag related build issue that appeared on the ART Buildbot after system/core was unpinned from the master-art manifest (https://android-review.googlesource.com/#/c/185580), used by some of our Buildbot configurations: ninja: error: 'out/host/linux-x86/obj/SHARED_LIBRARIES/libbacktrace_intermediates/export_includes', needed by 'out/host/linux-x86/obj/EXECUTABLES/imgdiag_intermediates/import_includes', missing and no known rule to make it Bug: 26051370 Change-Id: I8f3b3c89fb8da0c37a1ffb21b6d835e7ede1e71a
|
f6010eca09e943616b069e5bb38ee3589134e7bb |
|
22-Sep-2015 |
Yabin Cui <yabinc@google.com> |
Fix static build when libbacktrace links llvm libraries. Bug: 22229391 Change-Id: I8a2f3471cc1915e1e4e1eea0898219614e289ef3
|
754a4457ff34aa35336284e633be7ac0a23a683d |
|
21-Jul-2015 |
Ying Wang <wangying@google.com> |
Prefer 32-bit host executables on Mac. Bug: 22527295 Change-Id: I2cb1d3086b65b8227e6bdac9c0485fdc452f1e9c
|
9b369143615cb0eb836d2f1864d7d76da0668f1b |
|
02-Jul-2015 |
Calin Juravle <calin@google.com> |
Fix mac build: use -lrt only on linux. Change-Id: I25e6058d9003fa52ef3c8bd153c2108712ce7f96
|
65e069df6f864102b062fc04de8877f8230034a8 |
|
08-Jun-2015 |
Calin Juravle <calin@google.com> |
Build statically linked version of dex2oat. Change-Id: Icde39b770781095af7bd87ae6b907ad97a8a05da
|
01aaf6ef3e3e35cc8e41cf3fe899a7bf337042f4 |
|
19-Jun-2015 |
Calin Juravle <calin@google.com> |
Allow for sig chain to be disabled. Tools like dex2oat or patchoat don't need the sig chain or the fault manager. This also enables building a statically link version of dex2oat. Change-Id: I9897728cac48acade854bb027bfde860628ebf84
|
12bd7210bb2f5738e33dfa3f2f1cba2e0aab4955 |
|
04-Jun-2015 |
Roland Levillain <rpl@google.com> |
If heap poisoning is on, pass the relevant flag to LOCAL_ASFLAGS. This change ensures assembly files honoring heap poisoning (notably used by stub_test) are compiled with -DART_HEAP_POISONING=1 when this feature is turned on. Bug: 21621105 Change-Id: I13fe456cd2733a09bdfd3a9808cfd70513b14698
|
31fb26054349db03b3f1627fe975ed099ade69dd |
|
01-Oct-2014 |
Dan Albert <danalbert@google.com> |
Add options for building/testing with coverage. acov --clean mm -B NATIVE_COVERAGE=true ART_COVERAGE=true test-art-host acov --host -B is needed because you need to be sure you rebuild *all* of ART with coverage. Change-Id: Ib94ef610bd1b44dc45624877710ed733051b7a50
|
f36df544d421aa60fc4cf8a5db6356b45f97953b |
|
29-Jan-2015 |
Dan Albert <danalbert@google.com> |
Remove libcxx.mk cruft. This is on by default now. No need to leave it in the makefiles. Change-Id: I20eab7426da4bbbf8b70ffc5b9af7b97487d885d
|
3774335b08076117d6950cd472cdd59a167470b5 |
|
13-Nov-2014 |
Igor Murashkin <iam@google.com> |
Add a new imgdiag tool to diff boot.art/core.art against a process Analyze the dirty memory pages of a running process per-object, this allows is to to fine-tune the dirty object binning algorithm in image writer. Also: * Factor out oatdump command line parsing code into cmdline.h * Factor out common build rules for building variations of binaries * Add a gtest for imgdiag Bug: 17611661 Change-Id: I3ac852a0d223af66f6d59ae5dbc3df101475e3d0
|
956af0f0cb05422e38c1d22cbef309d16b8a1a12 |
|
11-Dec-2014 |
Elliott Hughes <enh@google.com> |
Remove portable. Change-Id: I3bf3250fa866fd2265f1b115d52fa5dedc48a7fc
|
7ccf48e10e83c159e2149744d5261cbeddf7c0e4 |
|
11-Dec-2014 |
Dan Albert <danalbert@google.com> |
Don't use the version script for executables. The version script was forcing all the ASAN symbols to be hidden, which caused any ASAN instrumented shared libraries used by these executables (such as libc++) to be unable to find these symbols. Bug: 18671691 Change-Id: I7839a10041d5f75ce43b59920675b2eff0837606
|
e7bc70b7c5d704a9ecc5d3b6e0851921e59ba9af |
|
20-Oct-2014 |
Dmitriy Ivanov <dimitry@google.com> |
Link libsigchain.a instead of sigchain.o Relative paths may sometimes lead to failed builds if sources are built in particular order. Also it is possible to export symbols from static lib with LOCAL_WHOLE_STATIC_LIBRARIES variable. (cherry picked from commit e49a4f6db74f4e66486a6aaf6564f997a94e230f) Bug: 18701723 Change-Id: I6d62594c2e84020d67254747c1fd465e1144920e
|
088b16e202904114c0fe13900e517b1c15c981c1 |
|
04-Dec-2014 |
Andreas Gampe <agampe@google.com> |
ART: Wire up a valgrind-wrapped dex2oat run Extend build-art-executable to understand multilib=both, in which case a stem is necessary. Use name32 for the 32b version, and name for the 64b version (or only version). Create both 32b and 64b dex2oat on the host. Extend the core generation rules to allow a wrapper. Create rules to run with valgrind: valgrind-test-art-host-dex2oat. Currently this is not wired up to valgrind-test-art-host, as valgrind reports an error on exit. Note: this takes a long time, as by default the debug version of dex2oat is used. The author has seen runs of about 6 minutes. Bug: 18605772 Change-Id: I32c270d2cf8a104f154bdf91875670b03d3f5d3b
|
e49a4f6db74f4e66486a6aaf6564f997a94e230f |
|
20-Oct-2014 |
Dmitriy Ivanov <dimitry@google.com> |
Link libsigchain.a instead of sigchain.o Relative paths may sometimes lead to failed builds if sources are built in particular order. Also it is possible to export symbols from static lib with LOCAL_WHOLE_STATIC_LIBRARIES variable. Change-Id: I6d62594c2e84020d67254747c1fd465e1144920e
|
f4450a359a08c09b88cb64c4a2ea25f983535dfb |
|
15-Oct-2014 |
Dmitriy Ivanov <dimitry@google.com> |
Fix mac build (second attempt) It appears that the version of mac ld with -export_dynamic is pretty recent. Remove -export_dynamic to fix build for older mac versions (?) (cherry picked from commit 8b5b69813ef4d718db2e38e51867883511a3eeea) Change-Id: I272d4b2c95411cc8126f27468f5199ff932fc9ef
|
09eff05e08865660c049d1d38cdeb93662e95f0d |
|
14-Oct-2014 |
Dmitriy Ivanov <dimitry@google.com> |
Fixing mac build MacOS static linker does not understand --export-dynamic and --version-script. According to man ld there is -export_dynamic option which should do the same thing. (cherry picked from commit 1d74e57fa22fbcad1e14d776c771472b2d8438fb) Change-Id: If9c096e099c8c070b62dda87dd0ed3ce77addcd6
|
7f1fa9e802efa4cc6ded166ce090f7c33d5546ba |
|
07-Oct-2014 |
Dmitriy Ivanov <dimitry@google.com> |
Remove libsigchain from LD_PRELOADS Link sigchain.cc statically with dalvikvm, app_process, surfaceflinger, dex2oat, patchoat and objdump. Replace libsigchain.so with dummy implementaions to avoid situations when it is used incorrectly. Bug: 15345057 Bug: 15426766 (cherry picked from commit f57874dddefc03fef9ad36fbdd87e39a08a8d641) Change-Id: I07fe3ca4eeef423d78d7e9a639f03fc59aae3b29
|
677cd61ad05d993c4d3b22656675874f06d6aabc |
|
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 (cherry picked from commit 6f3dbbadf4ce66982eb3d400e0a74cb73eb034f3) Change-Id: I3e7595f437db4828072589d475a5453b7f31003e
|
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
|
8b5b69813ef4d718db2e38e51867883511a3eeea |
|
15-Oct-2014 |
Dmitriy Ivanov <dimitry@google.com> |
Fix mac build (second attempt) It appears that the version of mac ld with -export_dynamic is pretty recent. Remove -export_dynamic to fix build for older mac versions (?) Change-Id: Ibc3b2f9a0aeec9125cd73b7df0cf22de9e8e4d16
|
1d74e57fa22fbcad1e14d776c771472b2d8438fb |
|
14-Oct-2014 |
Dmitriy Ivanov <dimitry@google.com> |
Fixing mac build MacOS static linker does not understand --export-dynamic and --version-script. According to man ld there is -export_dynamic option which should do the same thing. Change-Id: I8cde8c6c7305bebbbcc9dded143fa5cdaf386d65
|
f57874dddefc03fef9ad36fbdd87e39a08a8d641 |
|
07-Oct-2014 |
Dmitriy Ivanov <dimitry@google.com> |
Remove libsigchain from LD_PRELOADS Link sigchain.cc statically with dalvikvm, app_process, surfaceflinger, dex2oat, patchoat and objdump. Replace libsigchain.so with dummy implementaions to avoid situations when it is used incorrectly. Bug: 15345057 Bug: 15426766 Change-Id: If0b7f59a59824e30aa0c33dad76c7a44932180de
|
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
|
5ca4eaace8ba513f97309bbdc2e156de4b1d648a |
|
29-May-2014 |
Andreas Gampe <agampe@google.com> |
ART: Make LOCAL_CLANG architecture dependent for the target Be selective for which target we compile with Clang. Currently we only want to compile with Clang for ARM64, which means we need to be careful about ARM, which is the second architecture for that. Bug: 15014252 (cherry picked from commit 9689e3768621130b2536564f4e00fcb6b3d25df4) Change-Id: I312e1caea08f2f3a20304b27f979d3c7b72b0a04
|
ffddfdf6fec0b9d98a692e27242eecb15af5ead2 |
|
03-Jun-2014 |
Tim Murray <timmurray@google.com> |
DO NOT MERGE Merge ART from AOSP to lmp-preview-dev. Change-Id: I0f578733a4b8756fd780d4a052ad69b746f687a9
|
9689e3768621130b2536564f4e00fcb6b3d25df4 |
|
29-May-2014 |
Andreas Gampe <agampe@google.com> |
ART: Make LOCAL_CLANG architecture dependent for the target Be selective for which target we compile with Clang. Currently we only want to compile with Clang for ARM64, which means we need to be careful about ARM, which is the second architecture for that. Bug: 15014252 Change-Id: I239591f65eab537deac39a25bd20530dce5c4786
|
2a0e954ecf7c60e6ec62d64b9382cc4ee447e224 |
|
21-May-2014 |
Dan Albert <danalbert@google.com> |
Move art host to libc++ Change-Id: Ia51a4fdfdbae7377130a43c401c2d8d241671d1e
|
700a402244a1a423da4f3ba8032459f4b65fa18f |
|
20-May-2014 |
Ian Rogers <irogers@google.com> |
Now we have a proper C++ library, use std::unique_ptr. Also remove the Android.libcxx.mk and other bits of stlport compatibility mechanics. Change-Id: Icdf7188ba3c79cdf5617672c1cfd0a68ae596a61
|
ba0c51fd282c4f47b95230c5444e76f342900cfa |
|
16-May-2014 |
Ian Rogers <irogers@google.com> |
Switch ART to libc++. TODO: remove all vestiges of stlport. Change-Id: I95a3cb0b53d0898f0a5d388b606e79522f4d85e0
|
bd5ea6a2f7c61c4cd7b66fead1bedd96e938369d |
|
17-Apr-2014 |
Ian Rogers <irogers@google.com> |
Preparation for transition to libc++. 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
|
d74754320e4706796ebb1d4b413dc1fede6e4854 |
|
20-Mar-2014 |
Colin Cross <ccross@android.com> |
force dex2oat target executables to be compiled for 32-bit 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
|
afbaa1aab02cfe519d00336870b1bcd24b61378d |
|
26-Mar-2014 |
Andreas Gampe <agampe@google.com> |
Build changes to build multilib tests 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
|
cae10f73bdad63774a3a8bc67d568b131f9bd591 |
|
01-Apr-2014 |
Andrew Hsieh <andrewhsieh@google.com> |
Add -lpthread -ldl to link executable/tests 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
|
2269d2a647dbd4ad60a32be0238eda4db844d95b |
|
20-Mar-2014 |
Colin Cross <ccross@android.com> |
HACK: force target art executables to be compiled for 32-bit 64-bit dex2oat doesn't support 32-bit targets yet, force all art executables to compile 32-bit for now. Change-Id: If69f0a45e55104a5e915a9c58afa9009aa68b71c
|
dc781a13ddb4dabf646bb45d0c53b65cab948e5b |
|
05-Feb-2014 |
Colin Cross <ccross@android.com> |
art: convert makefiles to support multilib build 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
|
1bd2ceb3a8c68ae6ea1f9627b588a7bc7a74487f |
|
06-Nov-2013 |
Brian Carlstrom <bdc@google.com> |
Make missing DEX2OAT_TARGET_INSTRUCTION_SET_FEATURES an error Change-Id: I3ca23e4db80c8ab8a86da6408cf38daccd4cfaf1
|
7020278bce98a0735dc6abcbd33bdf1ed2634f1d |
|
23-Oct-2013 |
Dave Allison <dallison@google.com> |
Support hardware divide instruction Bug: 11299025 Uses sdiv for division and a combo of sdiv, mul and sub for modulus. Only does this on processors that are capable of the sdiv instruction, as determined by the build system. Also provides a command line arg --instruction-set-features= to allow cross compilation. Makefile adds the --instruction-set-features= arg to build-time dex2oat runs and defaults it to something obtained from the target architecture. Provides a GetInstructionSetFeatures() function on CompilerDriver that can be queried for various features. The only feature supported right now is hasDivideInstruction(). Also adds a few more instructions to the ARM disassembler b/11535253 is an addition to this CL to be done later. Change-Id: Ia8aaf801fd94bc71e476902749cf20f74eba9f68
|
fa50baa45bf7c82e489bd66bbba70544f7981997 |
|
02-Aug-2013 |
Brian Carlstrom <bdc@google.com> |
Restore build-art minimal build Change-Id: I0f4f2e8c6d2505a339cb9a1175d30ed9b229c45d
|
025218c7e4330a4942b14f9a8f1f68bd3390261c |
|
31-Jul-2013 |
Elliott Hughes <enh@google.com> |
Clean up stlport usage. Change-Id: I133cd88f1da37f6f801a9e07a78ae23b671cf4f1
|
7940e44f4517de5e2634a7e07d58d0fb26160513 |
|
12-Jul-2013 |
Brian Carlstrom <bdc@google.com> |
Create separate Android.mk for main build targets The runtime, compiler, dex2oat, and oatdump now are in seperate trees to prevent dependency creep. They can now be individually built without rebuilding the rest of the art projects. dalvikvm and jdwpspy were already this way. Builds in the art directory should behave as before, building everything including tests. Change-Id: Ic6b1151e5ed0f823c3dd301afd2b13eb2d8feb81
|
51c2467e8771b56e25ae4f17f66522f979f57a7e |
|
12-Jul-2013 |
Brian Carlstrom <bdc@google.com> |
libart-compiler cleanup - Move compile-time code to src/compiler and libart-compiler OatWriter, ImageWriter, ElfWriter, ElfFixup, ElfStripper, stub generation - Move ClassReference and MethodReference to remove MethodVerifier dependency on CompilerDriver - Move runtime_support_llvm.cc out of src/compiler and next to runtime_support.cc - Change dex2oat and gtests to directly depend on libart-compiler - Move non-common definitions from Android.common.mk to more specific makefiles - Add LOCAL_ADDITIONAL_DEPENDENCIES on appropriate makefiles Change-Id: I897027e69945914128f21f317a92caf9255bc600
|
fa42b4410d49134a8e63dc2196be4013d286f2d6 |
|
17-Jun-2013 |
Brian Carlstrom <bdc@google.com> |
Move to new art dalvikvm Change-Id: Ib04bc9853b7084965fa0c9899c3e5f5ac42d4ce7
|
cd5d0422ac07b03220970a3606f8b402a3636528 |
|
18-May-2013 |
Ian Rogers <irogers@google.com> |
Clang build support, -Wthread-safety with GCC 4.6. Change-Id: Idccb4daa012c66a6ece3f7a037c9c2c029beba64
|
52e55cbc6d18694556176b58ef79b5ae52c8039c |
|
22-Mar-2013 |
Brian Carlstrom <bdc@google.com> |
Remove gcc-based tsan support Change-Id: I145331e295f69e99408e03cb59df26fb337510f5
|
265091e581c9f643b37e7966890911f09e223269 |
|
30-Jan-2013 |
Brian Carlstrom <bdc@google.com> |
Remove ExtractCodeAndPrelink and switch Portable to MCLinker Change-Id: Ia2459c7da6b79e0a1c0f1148c6e28ad9cbbe27a2
|
c928de90ad22ecdf83c18a07008409595f13d3b1 |
|
27-Feb-2013 |
Ian Rogers <irogers@google.com> |
Remove Iceland. ART_USE_LLVM_COMPILER is removed and when necessary ART_USE_PORTABLE_COMPILER is used in #ifdefs. Change-Id: Iffa9ce5b0246c7c427ccc4e67ecc134624632e55
|
c531cefbfb5394413122e9f57d211ba436cff012 |
|
18-Oct-2012 |
buzbee <buzbee@google.com> |
Eliminate #ifdef ART_USE_QUICK_COMPILER One of several steps towards having a single compiler build. In this CL, we introduce a compiler_backend command-line option to select between Quick, Quick w/ GBC, Portable and Iceland back ends. The Iceland option is temporary, and will go away once we combine with Portable. The Quick variants are with and without GBC conversion. In time, those will converge to a single option. All uses of "#if defined(ART_USE_QUICK_COMPILER)" are eliminated. All previous uses in the Quick compiler have been converted to runtime tests. On the llvm side, ART_USE_QUICK_COMPILER was previously used to differentiate between Portable and Iceland builds. Those usages have been replaced with ART_USE_PORTABLE_COMPILER, and in a following CL will also be converted to run-time tests. As of this CL, we're still generating separate libraries for Quick and Portable/Iceland. Next up is elminating the target-specific libraries for Quick-arm, Quick-x86 and Quick-mips. Once that is complete, we will consoldate Quick and Portable into a single build. To build either Iceland or Portable, touch USE_PORTABLE_COMPILER or USE_LLVM_COMPILER as usual. Otherwise, the build will default to Quick (non-GBC). Change-Id: Ic86c56f51710c9b06d4430b71a429ae12903cc47
|
21d28f510eb590f52810c83f1f3f37fe5f4adf46 |
|
12-Jun-2012 |
Shih-wei Liao <sliao@google.com> |
GBC Expander. Removed lir. Change-Id: If8d13e36f1e6d82c2a7f7bfec62b8fb41fd8cdaa
|
2cfc639fc803bf67e3d2a961f2b637220c86d5f7 |
|
07-May-2012 |
buzbee <buzbee@google.com> |
Foundation for Quick LLVM compiler Ready for review - probably better get this cleaned up and checked in even though much work remains. Basic conversion from MIR to GreenlandIR and from GreenlandIR back to LIR. Support sufficient to run Fibonacci test. Note some structural changes in MIR to support this work: o retaining incoming label for phi nodes o constant propagation o include object reference detection in type inference pass Change-Id: I8ba63c73e76d071aa40cae0f744e598b96f68699
|
e94d9b23c52ec0f36c8a132914eac33bc707faff |
|
22-May-2012 |
Shih-wei Liao <sliao@google.com> |
Add dex_lang as common frontend to lir and LLVM. dex_lang + bc2lir = Greenland First commit of Greenland compiler: It's working in the sense of oat tests. E.g., mm test-art-host-oat-Fibonacci. It shows the correct bitcode before lir. Change-Id: I91cbb02188325eb1fa605ed71ec7108fd2b0dbb9
|
c4c9881e5d22432f3f1a30eeec5aa109dfc08a7d |
|
11-Mar-2012 |
Shih-wei Liao <sliao@google.com> |
Fix the LLVM build. Separate out libart-compiler-llvm.so. After this refactoring: If (!USE_LLVM_COMPILER), I pass the test-art and boot the phone alright. The behavior is the same for non-LLVM builds as before. Multi-target art-compiler shared libraries are generated as before. If (USE_LLVM_COMPILER), I generate libart-compiler-llvm.so successfully. Note that the ideal refactoring for the next step will be to always build art-compiler and LLVM-[arm|mips|x86] shared libraries. Currently, we haven't removed all the ifdefs for libart.so yet, so this is not ideal yet. Reason for not-done-yet is that the next step requires discussions. I can remove all the ifdefs today, but then the (!USE_LLVM_COMPILER) build will incur extra fields and overhead. This refactoring allows us to restore the LLVM build situation to be before the breakage yesterday, so we can continue making forward progress again. One difficulty in the refactoring is that LLVM is not a method compiler in default, unlike (!USE_LLVM_COMPILER). LLVM actually compiles an LLVM module at a time normally. So we need to do more call backs and tell libart-compiler-llvm.so in each invocation where we are in terms of OatCompilationUnit. Another difficulty is that currently our LLVM compiler is not multithreaded and requires locking, unlike (!USE_LLVM_COMPILER). So more callbacks are needed. This will be fixed when we fix the multithreading issue. Change-Id: I93bce21b6d673254188f2a60b1a7f91b508e497f
|
06e3ad4a651c2c58dba5e865cd06d2f98462bf1d |
|
07-Feb-2012 |
Elliott Hughes <enh@google.com> |
Turn on some basic tsan annotations. The most useful bit here is that tsan now knows the names of our threads. Change-Id: I8eef8f31e954ffc373555b392d6d9678d76ead34
|
a6cc893c4b142cd410fc956963b6f5a014e983ad |
|
04-Jan-2012 |
Brian Carlstrom <bdc@google.com> |
Add installd support to dex2oat Change-Id: Id1a64403ccea7dc2c1e8b8340d33d383d4045a33
|
89521898b56f2ebc3fb68acfb6bc6dde9b6f5c38 |
|
08-Dec-2011 |
Brian Carlstrom <bdc@google.com> |
Merge art-cache dex files into oat files Change-Id: I5a327a4e0b678bd9dabb12de4e21ef05e3fefd0b
|
3b6baaa203fa63f1522b2172a1645f90412afdae |
|
15-Oct-2011 |
Elliott Hughes <enh@google.com> |
Bring our native stack usage down. I'd have preferred to have a 512-byte limit, but there are some monsters in the verifier; 2000-line functions and the like. I'm also not policing tests (except for one silly one). They can use all the stack they like. This fixes the IntMath test (the stack overflow test was failing because we were using more than 4KiB to throw!). Change-Id: I7e53e2fde2b39fde1910f8ee5b1712e8a66069c7
|
b7bbba49d88eae58223d9878da4069bf6d7140bf |
|
13-Oct-2011 |
Brian Carlstrom <bdc@google.com> |
Add oatopt drop in replacement for dexopt Change-Id: I094375230af2d9a88e30245b390cac71be7b50f4
|
0796af03edc06d92bb8d631f1c0c23befdae2315 |
|
12-Oct-2011 |
Brian Carlstrom <bdc@google.com> |
Fix Object::IsSoftReference Also changed -Xzygote to default boot.art and log arguments Finally Makefile work: - separate out test dependencies - changed zygote with art to work by replacing libdvm with libart[d] - changed Makefile defines to name and error check their arguments This was to fix bug in generating ART_TARGET_EXECUTABLES where we used $(1) when we meant $(3) Change-Id: I7ef6008eff1fe99b59d151b6793e8fd8ea5304d4
|
bc512351f95163157712cbf1a35e38f00355bde2 |
|
17-Sep-2011 |
Brian Carlstrom <bdc@google.com> |
Remove redundant libgtest_host linkage Change-Id: I2932347166fa993c7125c32ecf6a3497462f3115
|
78128a63b2615744760b7f8ab83df9764a5d4a95 |
|
16-Sep-2011 |
Brian Carlstrom <bdc@google.com> |
oatdump FROM MAKE: mm dump-boot-oat ON HOST: oatdump --dex-file=$ANDROID_PRODUCT_OUT/system/framework/core.jar --image=$ANDROID_PRODUCT_OUT/system/framework/boot.oat --strip-prefix=$ANDROID_PRODUCT_OUT oatdump --boot-dex-file=$ANDROID_PRODUCT_OUT/system/framework/core.jar --boot=$ANDROID_PRODUCT_OUT/system/framework/boot.oat --dex-file=$ANDROID_PRODUCT_OUT/system/framework/art-test-dex-HelloWorld.jar --image=$ANDROID_PRODUCT_OUT//system/framework/art-test-dex-HelloWorld.oat --strip-prefix=$ANDROID_PRODUCT_OUT ON TARGET: adb shell oatdump --dex-file=/system/framework/core.jar --image=/system/framework/boot.oat adb shell oatdumpd --boot-dex-file=/system/framework/core.jar --boot=/system/framework/boot.oat --dex-file=/system/framework/art-test-dex-HelloWorld.jar --image=/system/framework/art-test-dex-HelloWorld.oat Change-Id: Iad2ae40a9cf2dc28799ff5dc5222d50f1bc6b39f
|
8692721dd8a3679ca874c3d1be0cecb62ff148f6 |
|
15-Sep-2011 |
Brian Carlstrom <bdc@google.com> |
Fix ClassLinker::LinkInterfaceMethods bug Also: - Expanded class_linker_test with additional vtable and iftable coverage - Added -fkeep-inline-functions where it works on host for debugging - Added disabled test for running command line Fibonacci with oatexec Change-Id: Ie295551e42493c7cca05684e71e56bf55bd362a4
|
1d3f114124b140629a7d22fa5cfa20ab8fc96934 |
|
13-Sep-2011 |
Elliott Hughes <enh@google.com> |
Support 32-bit volatiles. Change-Id: If40ead8e13986d589ac1d1637034e25fc4108189
|
4b620ffb1b4d0c96a94bb3afe314f35d53990ec6 |
|
11-Sep-2011 |
Brian Carlstrom <bdc@google.com> |
Finish moving state to managed heap Change-Id: I8a3b0e353b30268a05d6ed8ea0a6a4bead100660
|
69b15fb098162f19a4c20e6dccdcead04d9c77f0 |
|
03-Sep-2011 |
Brian Carlstrom <bdc@google.com> |
Working dex2oat and oatexec adb shell dex2oatd --dex-file=/system/framework/core.jar --image=/system/framework/boot.oat --base=0x50000000 "'--method=Ljava/lang/System;logI(Ljava/lang/String;)V'" "'--method=Ljava/lang/System;log(CLjava/lang/String;Ljava/lang/Throwable;)V'" adb shell dex2oatd --boot-dex-file=/system/framework/core.jar --boot=/system/framework/boot.oat --dex-file=/system/framework/art-test-dex-HelloWorld.jar --image=/system/framework/art-test-dex-HelloWorld.oat adb shell oatexecd -Xbootclasspath:/system/framework/core.jar -Xbootimage:/system/framework/boot.oat -classpath /system/framework/art-test-dex-HelloWorld.jar -Ximage:/system/framework/art-test-dex-HelloWorld.oat HelloWorld 09-05 17:58:18.912 2385 2385 I System : Hello, world! Change-Id: I53e534068584f0c3a837313e4d517a0e4a7154fc
|