d333389cf635e002658a77e64547631e05004447 |
07-Aug-2015 |
Roland Levillain <rpl@google.com> |
Tighten default inlining settings when using the space filter. (cherry picked from commit a215b95d03cfe713018a245553b74d7eeee813df and amended) Bug: 21868508 Change-Id: Ic83813a966cef18e59447083926bf033aa587154
ex2oat.cc
|
8f96df846403703e14016590b4c0c3af870561d9 |
29-Jul-2015 |
Calin Juravle <calin@google.com> |
Allow for fine tuning the inliner. Bug: 21868508 (cherry picked and squashed from commits ec74835a7e4f2660250a2f3f9508cbbe5269e49a and 0941b9d48a9a8c6d80a1af7a0d0fc9f80fe2b9a1) Change-Id: I1750e6bea20321d04680132281a6c2924531c5ae
ex2oat.cc
|
ccbbda2b716bcc0dd9ad7b6c7bf9079efa3fca23 |
03-Jul-2015 |
Douglas Leung <douglas.leung@imgtec.com> |
Add implicit null pointer and stack overflow checks for Mips. (cherry picked from commit 22bb5a2ebc1e2724179faf4660b2735dcb185f21) Bug: 21555893 Change-Id: I2a995be128a5603d08753c14956dd8c8240ac63c
ex2oat.cc
|
52f0aeb8e9f16fa5c3067f6a36be701354448924 |
27-Jun-2015 |
Andreas Gampe <agampe@google.com> |
ART: Unlink target oat file before compiling Dex2oat must create a new file (new inode) when writing to a target given by name, as the existing file may be in use. So unlink any existing file first. Bug: 22047255 Change-Id: Ief942c71564076e39c1e8340d5c4c55286f75896
ex2oat.cc
|
ad805685621cd6cd8a8144f7f83a69fd1fc171e5 |
19-May-2015 |
Andreas Gampe <agampe@google.com> |
ART: Only print stripped dex2oat command line To curb logcat noise, strip many dex2oat parameters from the logcat printout. Bug: 20501758 (cherry picked from commit 046c706707ea0f16c804136e237ac7cbfdc897a1) Change-Id: Ifc367f91f593916e0773af1ca950c798f129889f
ex2oat.cc
|
a26cb57f46fd3f27a930d9d688fe8670c1f24754 |
23-Apr-2015 |
David Srbecky <dsrbecky@google.com> |
ART stack unwinding fixes for libunwind/gdb/lldb. 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
ex2oat.cc
|
3d21bdf8894e780d349c481e5c9e29fe1556051c |
22-Apr-2015 |
Mathieu Chartier <mathieuc@google.com> |
Move mirror::ArtMethod to native Optimizing + quick tests are passing, devices boot. TODO: Test and fix bugs in mips64. Saves 16 bytes per most ArtMethod, 7.5MB reduction in system PSS. Some of the savings are from removal of virtual methods and direct methods object arrays. Bug: 19264997 (cherry picked from commit e401d146407d61eeb99f8d6176b2ac13c4df1e33) Change-Id: I622469a0cfa0e7082a2119f3d6a9491eb61e3f3d Fix some ArtMethod related bugs Added root visiting for runtime methods, not currently required since the GcRoots in these methods are null. Added missing GetInterfaceMethodIfProxy in GetMethodLine, fixes --trace run-tests 005, 044. Fixed optimizing compiler bug where we used a normal stack location instead of double on ARM64, this fixes the debuggable tests. TODO: Fix JDWP tests. Bug: 19264997 Change-Id: I7c55f69c61d1b45351fd0dc7185ffe5efad82bd3 ART: Fix casts for 64-bit pointers on 32-bit compiler. Bug: 19264997 Change-Id: Ief45cdd4bae5a43fc8bfdfa7cf744e2c57529457 Fix JDWP tests after ArtMethod change Fixes Throwable::GetStackDepth for exception event detection after internal stack trace representation change. Adds missing ArtMethod::GetInterfaceMethodIfProxy call in case of proxy method. Bug: 19264997 Change-Id: I363e293796848c3ec491c963813f62d868da44d2 Fix accidental IMT and root marking regression Was always using the conflict trampoline. Also included fix for regression in GC time caused by extra roots. Most of the regression was IMT. Fixed bug in DumpGcPerformanceInfo where we would get SIGABRT due to detached thread. EvaluateAndApplyChanges: From ~2500 -> ~1980 GC time: 8.2s -> 7.2s due to 1s less of MarkConcurrentRoots Bug: 19264997 Change-Id: I4333e80a8268c2ed1284f87f25b9f113d4f2c7e0 Fix bogus image test assert Previously we were comparing the size of the non moving space to size of the image file. Now we properly compare the size of the image space against the size of the image file. Bug: 19264997 Change-Id: I7359f1f73ae3df60c5147245935a24431c04808a [MIPS64] Fix art_quick_invoke_stub argument offsets. ArtMethod reference's size got bigger, so we need to move other args and leave enough space for ArtMethod* and 'this' pointer. This fixes mips64 boot. Bug: 19264997 Change-Id: I47198d5f39a4caab30b3b77479d5eedaad5006ab
ex2oat.cc
|
41b175aba41c9365a1c53b8a1afbd17129c87c14 |
19-May-2015 |
Vladimir Marko <vmarko@google.com> |
ART: Clean up arm64 kNumberOfXRegisters usage. 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
ex2oat.cc
|
99ca40cf9d390479a7243b8b3321cad7d9faa2a4 |
16-May-2015 |
Andreas Gampe <agampe@google.com> |
ART: Refactor UnstartedRuntime for testing 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
ex2oat.cc
|
094ff2c0c1f736521c634d5f606e274cb6c55345 |
13-May-2015 |
Sebastien Hertz <shertz@google.com> |
Fix debuggable compiler flag detection for secondary dex files Compiles secondary dex files like the primary dex file: if it has been compiled with the --debuggable flag, compile secondary dex files with the --debuggable flag too. Therefore, dex files loaded at runtime are compiled the same way as dex files compiled at install time on the classpath (excluding the boot image that is not compiled debuggable). Also adds debuggable key in the oat header and bump the oat version. Bug: 20944228 (cherry picked from commit 0de1133ba600f299b3d67938f650720d9f859eb2) Change-Id: If6b2236e7fe547cc421f57b573043748018d3ae0
ex2oat.cc
|
8484d23186c229e2927441f85ae819abb4996072 |
04-May-2015 |
Andreas Gampe <agampe@google.com> |
ART: Emit debug info when app is debuggable Emit debug symbols and CFI when dex2oat is compiling with the --debuggable flag. Bug: 17011129 Change-Id: I0afab1e46abd819eded2b823580e766619497393
ex2oat.cc
|
19ad58245b5fac4bdf02045ac47472935b0717cd |
29-Apr-2015 |
Andreas Gampe <agampe@google.com> |
ART: Move dex2oat watchdog output to LogLine The fprintf isn't visible on device, as it doesn't end up in the logcat. Also increase the watchdog timeout to 10 minutes. Bug: 20658562 (cherry picked from commit d687e375cf7507b5c36df63cf03c991038b1c218) Change-Id: I1fec8dae25f9282f72e762bda934fceb948bbd5f
ex2oat.cc
|
f99bcd2fba4c5a485ced108d63c4a49835d66e5c |
25-Apr-2015 |
Andreas Gampe <agampe@google.com> |
ART: Do not log non-swap usage Reduce logcat noise. Bug: 20501758 Change-Id: I5cbc28614d4be9e7fd120b7ccb97ca489e341f54
ex2oat.cc
|
2cebb24bfc3247d3e9be138a3350106737455918 |
22-Apr-2015 |
Mathieu Chartier <mathieuc@google.com> |
Replace NULL with nullptr Also fixed some lines that were too long, and a few other minor details. Change-Id: I6efba5fb6e03eb5d0a300fddb2a75bf8e2f175cb
ex2oat.cc
|
70bef0d8f6aa30b0da5c6ca56e1bc5729f74654b |
15-Apr-2015 |
Andreas Gampe <agampe@google.com> |
ART: Add compiled-methods 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
ex2oat.cc
|
b1fceadbd42b3047a9c06a8af6239c737d67344e |
21-Apr-2015 |
Andreas Gampe <agampe@google.com> |
ART: Change image_classes and compiled_classes to unordered set These lists can be large, and the soon-to-follow compiled_methods will be potentially even larger. Use a hash set instead of a tree set. Change-Id: I7d25c075540f47771354c6f49928b4fd0c76eb2e
ex2oat.cc
|
7848da48a0a4241dedc1cc83ac4931e61575eb92 |
09-Apr-2015 |
Andreas Gampe <agampe@google.com> |
ART: Store classpath information into oat file 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
ex2oat.cc
|
8dc7324da5bd0f2afd2ab558ab04882329a61fe8 |
12-Apr-2015 |
David Srbecky <dsrbecky@google.com> |
Add --include-cfi compiler option. Decouple generation of CFI from the rest of debug symbols. This makes it possible to generate oat with CFI but without the rest of debug symbols. This is in line with intention of the .eh_frame section. The section does not have the .debug_ prefix because it is considered somewhat different to the rest of debug symbols. Change-Id: I32816ecd4f30ac4e0dc69d69a4993e349c737f96
ex2oat.cc
|
4af290af4e89cfbc3a4e1ada79909ccee353361a |
13-Apr-2015 |
David Srbecky <dsrbecky@google.com> |
Merge "Remove the --gen-gdb-info compiler option."
|
a4c7aa2ba0485c2c876107ca6e1ce1f835ae23be |
13-Apr-2015 |
Nicolas Geoffray <ngeoffray@google.com> |
Merge "Remove duplicated dex2oat usage message"
|
af58780a2ed000581bf93fa2b018bfb081e61f00 |
13-Apr-2015 |
Snowcat8436 <snowcat8436@gmail.com> |
Remove duplicated dex2oat usage message Because '--huge-method-max' usage message is duplicated, Remove duplicated dex2oat usage message. Change-Id: I91cef8319d7292e4977eba49dfcb8cc2cd9ac1bf
ex2oat.cc
|
095d209342420563becfec6676b46a6c6b839107 |
13-Apr-2015 |
Nicolas Geoffray <ngeoffray@google.com> |
Merge "ART: Adds a help message for parallel compilation"
|
7f49e672bc943c49ca8af438ae4bd61b95fe364b |
12-Apr-2015 |
David Srbecky <dsrbecky@google.com> |
Remove the --gen-gdb-info compiler option. It is never used. We generally use --include-debug-symbols instead. Change-Id: I933495cd85ab4f7dfcf3ef3cd2d943d4b870ffeb
ex2oat.cc
|
e3712d074a6e9b5d6dfd2db33c556f25b713dade |
09-Apr-2015 |
Andreas Gampe <agampe@google.com> |
ART: Use canonical location in dex2oat To filter class-path dex files, use the canonical location, not the location. That will correctly resolve relative vs absolute paths. Bug: 20133593 Change-Id: I894656cb6bef75cdaffb188987af0a3647c74ad6
ex2oat.cc
|
3ebee94b7b3af89e7cd470ab70013ac0505d2de4 |
31-Mar-2015 |
Richard Uhler <ruhler@google.com> |
Merge "Host dex2oat and patchoat require libcutils."
|
3d329d7bbc1e04e9d1a9999f7785469d2ac88fc4 |
23-Mar-2015 |
Jean-Philippe Halimi <jean-philippe.halimi@intel.com> |
ART: Adds a help message for parallel compilation This patch adds a message for the "j" option of dex2oat in order to explicit its usage. Change-Id: I5a50e52b38f579f9956ad92a7daaf77bfa4c893f Signed-off-by: Jean-Philippe Halimi <jean-philippe.halimi@intel.com>
ex2oat.cc
|
4585f876eb5dfb936bd0d6cb6acd78a1f2182ba6 |
28-Mar-2015 |
Andreas Gampe <agampe@google.com> |
ART: Some runtime cleanup Use an enum for the compiler-callback mode. Refactor and remove some unnecessary includes in runtime.h. Change-Id: If2245fa470171311b8e05b677cf6bb28f209585a
ex2oat.cc
|
81c6f8db12b203878a7d72444ead2bc7cf5c47ad |
26-Mar-2015 |
Andreas Gampe <agampe@google.com> |
ART: PathClassLoader for compiler 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
ex2oat.cc
|
90d480c26f7524f35323a11d6ba2880ff3db789a |
23-Mar-2015 |
Nicolas Geoffray <ngeoffray@google.com> |
Merge "Implement a space filter for optimizing."
|
3296f4cb397f75044e7bd5f9b345f4b29d0275f3 |
21-Mar-2015 |
Richard Uhler <ruhler@google.com> |
Host dex2oat and patchoat require libcutils. When atrace_* functions are defined for both target and host, host dex2oat and patchoat require libcutils. Change-Id: I89397e83986686a2b6a6f245c25017eb379081b1
ndroid.mk
|
461bd6cbcd26731aad019d382aafbdbc7ee19e69 |
23-Mar-2015 |
Richard Uhler <ruhler@google.com> |
Merge "Improve dex2oat --dex-file and --dex-location usage info."
|
36540cb4d549c706cc7cd23086684f1548a91042 |
23-Mar-2015 |
Nicolas Geoffray <ngeoffray@google.com> |
Implement a space filter for optimizing. Heuristic-based. Currently only for enabling fugu user build. Change-Id: I76e652bd3f00ed84a2a8ad69c7c2c0e24d74cd68
ex2oat.cc
|
027f0ff64c2512b9a5f1f54f3fea1bec481eb0f5 |
28-Feb-2015 |
Douglas Leung <douglas.leung@imgtec.com> |
ART: Add Mips32r6 backend support Add Mips32r6 compiler support. Don't use deprecated Mips32r2 instructions if running in Mips32r6 mode. Change-Id: I54e689aa8c026ccb75c4af515aa2794f471c9f67
ex2oat.cc
|
e86deeffad79c00ed2ebede04f4adc348bda790c |
19-Mar-2015 |
Mathieu Chartier <mathieuc@google.com> |
Add verify-at-runtime compiler filter Verifies at runtime only, instead of at compilation time. AOSP HH boot time after clean-oat: ~30s instead of ~35s if enabled. Also helps install time if enabled there. TODO: See if there is any possible deadlocks that can result from this. Bug: 19762303 Change-Id: Ibfba77148da9039e8d7d7497c05486bc044eefe7
ex2oat.cc
|
1412dfa4adcd511902e510fa0c948b168ab5840c |
20-Mar-2015 |
Nicolas Geoffray <ngeoffray@google.com> |
Revert "Revert "Use optimizing for apps."" This reverts commit 706cae36209932f258b2fe2e396f31d2dd7d585e. Change-Id: I75cc6206ec17ade52a6db0737b62aa37ea2fa300
ex2oat.cc
|
706cae36209932f258b2fe2e396f31d2dd7d585e |
19-Mar-2015 |
Nicolas Geoffray <ngeoffray@google.com> |
Revert "Use optimizing for apps." This reverts commit f3251d12dfa387493dbde4c4148a633802f5f7e3. Change-Id: I32514e10ece55ee7bd7382ce2e956d57c9b621e5
ex2oat.cc
|
e934df2f3276d1e07c5c95a0fe47fc84b4c9438e |
17-Mar-2015 |
Richard Uhler <ruhler@google.com> |
Improve dex2oat --dex-file and --dex-location usage info. Change-Id: I8cb2070149ad9fdcf01d773abb1547811999772f
ex2oat.cc
|
f3251d12dfa387493dbde4c4148a633802f5f7e3 |
11-Mar-2015 |
Nicolas Geoffray <ngeoffray@google.com> |
Use optimizing for apps. Doing it in dex2oat, to avoid messing up with our current testing. Change-Id: I76c58f11f0d4756b894e797fc52712453e35adb1
ex2oat.cc
|
2969bcdcd80624e4a4fef696b54c2c76b44b6853 |
09-Mar-2015 |
Andreas Gampe <agampe@google.com> |
ART: Refactor unstarted runtime Refactor and clean up unstarted runtime. Bug: 19542228 Change-Id: Ib3e4b3517e06e8242d4fed32ca59419fef553a47
ex2oat.cc
|
41b15f9f06c7e2e5aac13f709c66412e6c299b67 |
06-Mar-2015 |
Andreas Gampe <agampe@google.com> |
Merge "Initial support for quick compiler on MIPS64r6."
|
6ea651f0f4c7de4580beb2e887d86802c1ae0738 |
24-Feb-2015 |
Maja Gagic <maja.gagic@imgtec.com> |
Initial support for quick compiler on MIPS64r6. Change-Id: I6f43027b84e4a98ea320cddb972d9cf39bf7c4f8
ex2oat.cc
|
a11a34c908e847711e6ccf221d61b45d0c4c963d |
06-Mar-2015 |
Brian Carlstrom <bdc@google.com> |
Do not dump memory usage if driver was never created Bug: https://code.google.com/p/android/issues/detail?id=158593 Change-Id: I8084f9ac823910aa11f854f3e764240741fbf0d5
ex2oat.cc
|
6cf49e57ad7a61e1fffd5b1dfae9179c3ca5703d |
05-Mar-2015 |
Andreas Gampe <agampe@google.com> |
ART: Add option to abort dex2oat on hard failure Add an option that aborts dex2oat when a hard verifier failure occurs. Bug: 19606409 Change-Id: I53195284e22fe6207274101e85745af763c06271
ex2oat.cc
|
c670efd6ba9dbd1166bfd8c805bb6b2df7d4313a |
04-Mar-2015 |
Andreas Gampe <agampe@google.com> |
Merge "ART: Add debuggable compiler flag"
|
7b2f09eb6b5c74ffc38bd70f0aa74b8f8112e394 |
02-Mar-2015 |
Andreas Gampe <agampe@google.com> |
ART: Add debuggable compiler flag Add a flag to compiler options that shows debuggability. Change-Id: Id17ec72babe2ee88713a0d274eff86508de30666
ex2oat.cc
|
86a4db469e9ab31d6574a58fe67702c7fc5222d7 |
04-Mar-2015 |
Jeff Hao <jeffhao@google.com> |
Merge "Remove ART_SMALL_MODE ifdefs."
|
f3c7ba6a5759873138fbf4ae24a216dc0d87a3fe |
24-Feb-2015 |
Jeff Hao <jeffhao@google.com> |
Remove ART_SMALL_MODE ifdefs. WITH_ART_SMART_MODE now sets --compiler-filter options instead. Has a corresponding change to /build Bug: 19460766 Change-Id: I295ebbd49caa5341834141f7c2bbf8df830131ed
ex2oat.cc
|
1d00addb6e6a6d0386cba393774031dbd88121ba |
28-Feb-2015 |
Andreas Gampe <agampe@google.com> |
ART: Allow dex2oat for apps only with image Do not allow a runtime without image when compiling an app. This avoids the current abort when we then try to run out of the (missing) boot classpath. Bug: 19100590 Change-Id: Ic269dc2fa807d003215ea134cb42fe4c4d78124e
ex2oat.cc
|
794ad76e8d5b5b9132819d5b08a0570e27615644 |
23-Feb-2015 |
Andreas Gampe <agampe@google.com> |
ART: Introduce NO_RETURN, Mark DoLongJump noreturn Add NO_RETURN macro that adds C++11 noreturn attribute. Mark DoLongJump methods as noreturn. Change-Id: Ifde4318e370493237050d4c1349285a0382df23f
ex2oat.cc
|
5bdab12d8b48ca4c395d9d2c506ebff0df01b734 |
27-Jan-2015 |
Mathieu Chartier <mathieuc@google.com> |
Clean up pass driver Added pass manager to hold the state which used to be in global variables. Static variables caused issues with Runtime.exit since they are destroyed by the global destructors while threads are still executing. Bug: 17950037 Change-Id: Ie0e4546dc9e48909c8df996a5c135be682d50044
ex2oat.cc
|
8d295f8f0e88fa5c6373962d545020a06033b3fc |
20-Jan-2015 |
Andreas Gampe <agampe@google.com> |
ART: Curb dex2oat verbosity Only print dedupe collisions in a debug build or on verbose logging. Change-Id: I08bd04a453d95b6dba6cf6955b5741cd97daf480
ex2oat.cc
|
0223a19fa4fc39ba89de2b87b03b98a5fd97778b |
15-Jan-2015 |
Andreas Gampe <agampe@google.com> |
Merge "ART: Allow to compile interpret-only mips64 files"
|
57b34294758e9c00993913ebe43c7ee4698a5cc6 |
15-Jan-2015 |
Andreas Gampe <agampe@google.com> |
ART: Allow to compile interpret-only mips64 files Include enough infrastructure to allow cross-compiling for mips64, interpret-only. This includes the instruction-set-features, frame size info and utils assembler. Also add a disassembler for oatdump, and support in patchoat. Note: the runtime cannot run mips64, yet. Change-Id: Id106581fa76b478984741c62a8a03be0f370d992
ex2oat.cc
|
1c1d40ab7fd856eac52e1a3be7ce60da3fc21fb5 |
15-Jan-2015 |
David Brazdil <dbrazdil@google.com> |
Merge "ART: dex2oat flag for HGraphVisualizer dump file"
|
127d933868b767eca1ec5446e91a3e8df65c659e |
14-Jan-2015 |
Richard Uhler <ruhler@google.com> |
Merge "Use unique_ptr to track ownership of dex files."
|
c5a3ea7522b59c18daa4325d69703a6f7f743378 |
14-Jan-2015 |
Andreas Gampe <agampe@google.com> |
ART: Introduce Mips32 R6 Add an instruction-set feature for Mips R6. Currently restricted to the interpreter. Change-Id: Ic6d888e135bc87340229a0543dd94d0c1e863edd
ex2oat.cc
|
fbef44de596d298dc6430f482dffc933a046dd28 |
23-Dec-2014 |
Richard Uhler <ruhler@google.com> |
Use unique_ptr to track ownership of dex files. Bug: 18809837 Change-Id: Ie571eae8fc19ee9207390cff5c7e2a38071b126a
ex2oat.cc
|
866c03125a3fcd74c9fff04da87865f5eb1767d9 |
13-Jan-2015 |
David Brazdil <dbrazdil@google.com> |
ART: dex2oat flag for HGraphVisualizer dump file This patch adds a new '--dump-cfg=<file>' flag to dex2oat which specifies the file that HGraphVisualizer will store its output into. Until now the graph was dumped to 'art.cfg' in the current working directory. To make Checker work with run-test, the output directory needs to be customizable. Change-Id: I4a940f7708b88deea5a0e51d13aed13e52199349
ex2oat.cc
|
6e73272f093e9dc045c08baae57eebb5dcd6e044 |
13-Jan-2015 |
Andreas Gampe <agampe@google.com> |
Revert "ART: dex2oat flag for HGraphVisualizer dump file" Breaks compilation of tests. This reverts commit 54953dfdcb3bb8896d8af2d20adef84fb740ce77. Change-Id: I868b876c3130be61f1169c5fccdffc0368bee11e
ex2oat.cc
|
54953dfdcb3bb8896d8af2d20adef84fb740ce77 |
13-Jan-2015 |
David Brazdil <dbrazdil@google.com> |
ART: dex2oat flag for HGraphVisualizer dump file This patch adds a new flag to dex2oat which allows to specify the name of the file that HGraphVisualizer will store its output into. Until now the graph was dumped to "art.cfg" in the current working directory. To make Checker work with run-test, the output directory needs to be customizable. Change-Id: I395c518b987e594e89e5e80f202a96befa41ac20
ex2oat.cc
|
c275259449ec57987e52d3ab1eda3272b994488f |
02-Jan-2015 |
Richard Uhler <ruhler@google.com> |
Remove back-door bootclasspath option from Runtime The 'bootclasspath' option allowed users of the Runtime to load their own boot class path DexFiles and pass them directly to the Runtime as an option. This obscures the fact that the Runtime must take ownership of the boot class path DexFiles. This change removes the use of the bootclasspath option by dex2oat and the common runtime tests. For dex2oat, we use the existing -Xbootclasspath option instead, and introduce a new -Xbootclasspath-locations option to override the dex locations for the loaded boot class path dex files. For the common runtime tests, we simply use -Xbootclasspath. Bug: 18809837 Change-Id: Idfcd4885390bf0f3dc350993756dd337220def73
ex2oat.cc
|
e21dc3db191df04c100620965bee4617b3b24397 |
09-Dec-2014 |
Andreas Gampe <agampe@google.com> |
ART: Swap-space in the compiler Introduce a swap-space and corresponding allocator to transparently switch native allocations to memory backed by a file. Bug: 18596910 (cherry picked from commit 62746d8d9c4400e4764f162b22bfb1a32be287a9) Change-Id: I131448f3907115054a592af73db86d2b9257ea33
ex2oat.cc
|
55037f186fff482084cd5659ff747339eb17ba4e |
12-Dec-2014 |
Elliott Hughes <enh@google.com> |
Merge "Remove portable."
|
956af0f0cb05422e38c1d22cbef309d16b8a1a12 |
11-Dec-2014 |
Elliott Hughes <enh@google.com> |
Remove portable. Change-Id: I3bf3250fa866fd2265f1b115d52fa5dedc48a7fc
ex2oat.cc
|
6fc59abce810b87b6fb07dbd1e84f9dca02fd487 |
11-Dec-2014 |
Dan Albert <danalbert@google.com> |
Fix alloc-dealloc-mismatch failures in dex2oat. These errors are for calling `delete` on something allocated with `new[]`. Bug: 18202869 Change-Id: I8032664dd0819740e83a04cd5a0d56e2c097aacf
ex2oat.cc
|
4a4dd707ad78a0913650f9af8425a6a451b0cdbe |
05-Dec-2014 |
Nicolas Geoffray <ngeoffray@google.com> |
Make dex2oat 32bits when HOST_PREFER_32_BIT=true. Change-Id: Id6465c697512f32402bdf71c75e52db47f1fb0a2
ndroid.mk
|
63130d07713dc3eaa3ce156e3f7b8f0b0e06cd61 |
04-Dec-2014 |
Andreas Gampe <agampe@google.com> |
Merge "ART: Wire up a valgrind-wrapped dex2oat run"
|
95b033ba10d0bd5be91ec868280b9b97ad6666be |
04-Dec-2014 |
Brian Carlstrom <bdc@google.com> |
Remove dex2oat watchdog warning The warning output is breaking vm-tests on some devices. It does not seem to serve much of a purpose given that it does not go to logcat and long running compiles can be identified by the time summary printed at the end of dex2oat. (cherry picked from commit c1bfaa22570b4f771ae1cd832201b01ec84e32c1) Bug: 18609574 Change-Id: Iefc3c51be35ceaff0031522c4d6c2cdf5703dcb6
ex2oat.cc
|
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
ndroid.mk
|
ab972ef472001fa113d54486d7592979e33480b3 |
04-Dec-2014 |
Mathieu Chartier <mathieuc@google.com> |
Remove method verification results right after compiling a method This saves memory since it allows the code arrays from methods compiled in future methods to use the ram we just freed from the verification results. GmsCore.apk: Before: dex2oat took 77.383s (threads: 2) arena alloc=6MB java alloc=30MB native alloc=77MB free=13KB After: dex2oat took 72.180s (threads: 2) arena alloc=6MB java alloc=30MB native alloc=60MB free=13KB Bug: 18596910 Change-Id: I5d6df380e4fe58751a2b304202083f4d30b33b7c (cherry picked from commit 25fda92083d5b93b38cc1f6b12ac6a44d992d6a4)
ex2oat.cc
|
a650e700ddcfef0ad86284b0f0818543a196014a |
03-Dec-2014 |
Andreas Gampe <agampe@google.com> |
ART: Fix unclosed files in dex2oat Under some error conditions files are not closed, and the close guard will complain. Bug: 18603475 (cherry picked from commit d97465c3742cc3c82843665f2678b881de29854b) Change-Id: I7155e3f4f6231844edd375b9302ecf1ba8079950
ex2oat.cc
|
e3a650a5b332875f8c6a8aca9b54598442b40a4b |
03-Dec-2014 |
Mathieu Chartier <mathieuc@google.com> |
Fix mac build Macs don't have malloc.h, hopefully this fixes the build. (cherry picked from commit 6cc5076a1248582cf16bd9a6a1719e0a4c1a1de2) Change-Id: I94d10d2c3d16893625df210bdd5587eea4a1247f
ex2oat.cc
|
49285c596bb48a52c42eac4005707e441ef916a7 |
03-Dec-2014 |
Mathieu Chartier <mathieuc@google.com> |
Print memory usage in dex2oat shutdown Example on mako: I/dex2oat (31071): dex2oat took 31.195s (threads: 2) arena alloc=1013KB java alloc=13MB native alloc=32MB free=1490KB Bug: 18069309 Change-Id: I08eac00842be35d4e659bddc8513f2062be725c9 (cherry picked from commit 3029df6d212894647ba0e5c23443c40912c6ecc8)
ex2oat.cc
|
5055c8e008fef62b23e485504472cd215b1b5bfd |
02-Dec-2014 |
Andreas Gampe <agampe@google.com> |
Merge "ART: Print initialization failures to file"
|
4586fb6fe8a5df17e5dc02b3c1ae8d284815274f |
28-Nov-2014 |
Nicolas Geoffray <ngeoffray@google.com> |
Print the right default for the compiler backend. Change-Id: I7083c640af6e2af1c333d5551ba2391ab672954d
ex2oat.cc
|
dbfe254f5ca96f6c5b2284478597d6140c01a394 |
26-Nov-2014 |
Andreas Gampe <agampe@google.com> |
ART: Print initialization failures to file Add the ability to print boot image initialization failures to a file. Add a tool to convert said file into a Graphviz file. Change-Id: Iedcc337bdf05654c154aa553236f20bdd15572ee
ex2oat.cc
|
9bb492a33c97e72d0c43a4ee968e34cc32534981 |
26-Nov-2014 |
Nicolas Geoffray <ngeoffray@google.com> |
Add ART_USE_OPTIMIZING_COMPILER flag. Change-Id: I86065aec5bfe59729c6a4064a3e54d5b523ca45c
ex2oat.cc
|
10e477df468a1f6a09236b9b49417d6538c559f0 |
19-Nov-2014 |
Andreas Gampe <agampe@google.com> |
ART: Split image and non-image case in dex2oat Explicitly split out the cases (even if there is redundancy). Have explicit flush and close operations. Change-Id: I5ffa4c84b4f4a1f42244d4cb7af2b5cf36739c87
ex2oat.cc
|
4303ba97313458491e038d78efa041d41cf7bb43 |
06-Nov-2014 |
Andreas Gampe <agampe@google.com> |
ART: Track Flush & Close in FdFile Implement a check that aborts when a file hasn't been explicitly flushed and closed when it is destructed. Add WARN_UNUSED to FdFile methods. Update dex2oat, patchoat, scoped_flock and some gtests to pass with this. (cherry picked from commit 9433ec60b325b708b9fa87e699ab4a6565741494) Change-Id: I9ab03b1653e69f44cc98946dc89d764c3e045dd4
ex2oat.cc
|
d582fa4ea62083a7598dded5b82dc2198b3daac7 |
06-Nov-2014 |
Ian Rogers <irogers@google.com> |
Instruction set features for ARM64, MIPS and X86. Also, refactor how feature strings are handled so they are additive or subtractive. Make MIPS have features for FPU 32-bit and MIPS v2. Use in the quick compiler rather than #ifdefs that wouldn't have worked in cross-compilation. Add SIMD features for x86/x86-64 proposed in: https://android-review.googlesource.com/#/c/112370/ Bug: 18056890 Change-Id: Ic88ff84a714926bd277beb74a430c5c7d5ed7666
ex2oat.cc
|
4bf3ae9930a155f238dfd471413c866912b2579e |
11-Nov-2014 |
Andreas Gampe <agampe@google.com> |
ART: Compiled-classes list for compiler-driver Similar to the image-classes list, introduce a list of class names that are to be compiled when creating a boot image. This defaults to all classes. Bug: 18336591 (cherry picked from commit 26318f722958ac1cba6a812026a1377f37c54941) Change-Id: I95f69afdb500a9defb6795803d4040bbe67c5a01
ex2oat.cc
|
0d8db99ac5d838f81e0d3be83a5b00d5475edf86 |
11-Nov-2014 |
Nicolas Geoffray <ngeoffray@google.com> |
Implement invokesuper in optimizing. - Ensure dex2oat is in PIC mode, as this will drive the decisions made in the compiler driver, and optimizing only suppots PIC anyway. - Since invokesuper is sharpened into invoke-direct, also support sharpening of invokeinterface and invokevirtual. Change-Id: I0a1bd79a13dc1c9e67e3cb11d38f0cd4459968ae
ex2oat.cc
|
88ec7f45c0e2c3f659048fbe4b1dc78730fdaea8 |
05-Nov-2014 |
Andreas Gampe <agampe@google.com> |
ART: Refactor dex2oat Take the huge dex2oat main function apart. Move to ScopedLogging. Bug: 18276913 Bug: 17444504 Change-Id: Iab3d7437d60508088cb16bf33da0c5defbf7ae03
ex2oat.cc
|
277ccbd200ea43590dfc06a93ae184a765327ad0 |
04-Nov-2014 |
Andreas Gampe <agampe@google.com> |
ART: More warnings Enable -Wno-conversion-null, -Wredundant-decls and -Wshadow in general, and -Wunused-but-set-parameter for GCC builds. Change-Id: I81bbdd762213444673c65d85edae594a523836e5
ex2oat.cc
|
6a3c1fcb4ba42ad4d5d142c17a3712a6ddd3866f |
31-Oct-2014 |
Ian Rogers <irogers@google.com> |
Remove -Wno-unused-parameter and -Wno-sign-promo from base cflags. Fix associated errors about unused paramenters and implict sign conversions. For sign conversion this was largely in the area of enums, so add ostream operators for the effected enums and fix tools/generate-operator-out.py. Tidy arena allocation code and arena allocated data types, rather than fixing new and delete operators. Remove dead code. Change-Id: I5b433e722d2f75baacfacae4d32aef4a828bfe1b
ex2oat.cc
|
263f20b7a04b33f0e4b8f43b9a69ee9a1ddba564 |
30-Oct-2014 |
Ian Rogers <irogers@google.com> |
Merge "Tidy and reduce ART library dependencies on the host."
|
872dd8208f00c667af8d9e0fd07fdd0ada56d437 |
30-Oct-2014 |
Ian Rogers <irogers@google.com> |
Tidy and reduce ART library dependencies on the host. Move to shared rather than static libraries. Avoids capture of all static libraries library dependencies. Change-Id: I2be96e92dad4ed1842d76b044745f2a2e15372eb
ndroid.mk
|
70587a24fdec9a14192e57fe148aeb3374b10635 |
29-Oct-2014 |
Andreas Gampe <agampe@google.com> |
ART: Fix multi-image testing Also, make an unknown compiler backend string fail dex2oat. Change-Id: I878aef47d3c2c84b8479420e1a7ea2852993de35
ex2oat.cc
|
46774767fcf7780d1455e755729198648d08742e |
22-Oct-2014 |
Igor Murashkin <iam@google.com> |
ART: Add support for patching and loading OAT files compiled with PIC * Images (.art) compiled with pic now have a new field added. * isDexOptNeeded will now skip patch-ing for apps compiled PIC * First-boot patching now only copies boot.art, boot.oat is linked As a result, all system preopted dex files (with --compile-pic) no longer take up any space in /data/dalvik-cache/<isa>. Bug: 18035729 Change-Id: Ie1acad81a0fd8b2f24e1f3f07a06e6fdb548be62
ex2oat.cc
|
7ba649636c4475c3992fa15a57acd2546d69ff38 |
23-Oct-2014 |
Andreas Gampe <agampe@google.com> |
ART: Add pic flag to oat header store Add the compile-time PIC flag to the oat-header key-value store. Ignore image offset and patch delta when loading PIC oat files. Change-Id: Ie1f1ef37125386a968228033d1e2bec565315510
ex2oat.cc
|
cf7f19135f0e273f7b0136315633c2abfc715343 |
23-Oct-2014 |
Ian Rogers <irogers@google.com> |
C++11 related clean-up of DISALLOW_.. Move DISALLOW_COPY_AND_ASSIGN to delete functions. By no having declarations with no definitions this prompts better warning messages so deal with these by correcting the code. Add a DISALLOW_ALLOCATION and use for ValueObject and mirror::Object. Make X86 assembly operand types ValueObjects to fix compilation errors. Tidy the use of iostream and ostream. Avoid making cutils a dependency via mutex-inl.h for tests that link against libart. Push tracing dependencies into appropriate files and mutex.cc. x86 32-bit host symbols size is increased for libarttest, avoid copying this in run-test 115 by using symlinks and remove this test's higher than normal ulimit. Fix the RunningOnValgrind test in RosAllocSpace to not use GetHeap as it returns NULL when the heap is under construction by Runtime. Change-Id: Ia246f7ac0c11f73072b30d70566a196e9b78472b
ex2oat.cc
|
c7dd295a4e0cc1d15c0c96088e55a85389bade74 |
22-Oct-2014 |
Ian Rogers <irogers@google.com> |
Tidy up logging. Move gVerboseMethods to CompilerOptions. Now "--verbose-methods=" option to dex2oat rather than runtime argument "-verbose-methods:". Move ToStr and Dumpable out of logging.h, move LogMessageData into logging.cc except for a forward declaration. Remove ConstDumpable as Dump methods are all const (and make this so if not currently true). Make LogSeverity an enum and improve compile time assertions and type checking. Remove log_severity.h that's only used in logging.h. With system headers gone from logging.h, go add to .cc files missing system header includes. Also, make operator new in ValueObject private for compile time instantiation checking. Change-Id: I3228f614500ccc9b14b49c72b9821c8b0db3d641
ex2oat.cc
|
d7a11bc4b207fbc1455f90873d99c95c4576667c |
17-Oct-2014 |
Nicolas Geoffray <ngeoffray@google.com> |
Fix dex2oat cross-compilation. The instruction set features was not correctly set when it was not given in the command line. Change-Id: I649cc077e7bbc830d281ae59af43e59fd0541c1b
ex2oat.cc
|
dddb8d891adad3f55308a725658134b6c9f5559b |
17-Oct-2014 |
Igor Murashkin <iam@google.com> |
Merge "dex2oat: Add a --compile-pic option"
|
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
ex2oat.cc
|
d6dee676acdd1ab0aa4e5ba6834ee7c40a6dd8ab |
17-Oct-2014 |
Igor Murashkin <iam@google.com> |
dex2oat: Add a --compile-pic option Change-Id: I80e03613e3b6ac079bcbc7e068bbaae760c364c9
ex2oat.cc
|
6e88ef6b604a7a945a466784580c42e6554c1289 |
15-Oct-2014 |
Mathieu Chartier <mathieuc@google.com> |
Change MemMap::maps_ to not be global variable Runtime.exit() was causing globals to get destructed at the same time that another thread was using it for allocating a new mem map. Bug: 17962201 Change-Id: I400cb7b8141d858f3c08a6fe59a02838c04c6962
ex2oat.cc
|
7223d44a4893522e90d00bca38b119f710e55122 |
11-Oct-2014 |
Ian Rogers <irogers@google.com> |
Switch to C++11 style [[noreturn]]. Also remove old comment about calls to Abort getting merged. We have few LOG(FATAL)s so merging is less of an issue. Also, recompiling with O0 and similar will avoid the optimization and we expect that for GDB debugging. Change-Id: I840dc6f4b8511294be0e117c634ec15b745e7be5
ex2oat.cc
|
647b1a86f518d8db0331b3d52a96392b7a62504b |
10-Oct-2014 |
Ian Rogers <irogers@google.com> |
Fix 2 new sets of clang compiler warnings. Fix issues that are flagged by -Wfloat-equal and -Wmissing-noreturn. In the case of -Wfloat-equal the current cases in regular code are deliberate, so the change is to silence the warning. For gtest code the appropriate fix is to switch from EXPECT_EQ to EXPECT_(FLOAT|DOUBLE)_EQ. The -Wmissing-noreturn warning isn't enabled due to a missing noreturn in gtest. This issue has been reported to gtest. Change-Id: Id84c70c21c542716c9ee0c41492e8ff8788c4ef8
ex2oat.cc
|
62d1ca3182a6cbb921799825f43ad36821233fd7 |
04-Sep-2014 |
Tong Shen <endlessroad@google.com> |
ART: Prepare for ELF64. Only expose necessary interface in ElfFile, and move all details into template class ElfFileImpl. Change-Id: I9df2bbc55f32ba0ba91f4f3d5d0009e84a2ddf74
ex2oat.cc
|
f4da675bbc4615c5f854c81964cac9dd1153baea |
01-Aug-2014 |
Vladimir Marko <vmarko@google.com> |
Implement method calls using relative BL on ARM. Store the linker patches with each CompiledMethod instead of keeping them in CompilerDriver. Reorganize oat file creation to apply the patches as we're writing the method code. Add framework for platform-specific relative call patches in the OatWriter. Implement relative call patches for ARM. Change-Id: Ie2effb3d92b61ac8f356140eba09dc37d62290f8
ex2oat.cc
|
4f694baebb578b3ecc0c431f2a05c92efb9a50b3 |
24-Sep-2014 |
Brian Carlstrom <bdc@google.com> |
dex2oat should truncate files opened from file descriptors Bug: 17622827 (cherry picked from commit aa93129ca54cc897fdc2c8ddd0a7136f7b5632ed) Change-Id: I5467d488b4a57f7be35c72c16775df5bd5d69a52
ex2oat.cc
|
1b5a5dc82b9618d9deef62962954bfb9871a88d1 |
17-Sep-2014 |
Andreas Gampe <agampe@google.com> |
Merge "ART: Sync oat file to disk before patching"
|
33cb94e5e5b50330fb9fbafe90d1a2a6bd026e2f |
17-Sep-2014 |
Andreas Gampe <agampe@google.com> |
ART: Sync oat file to disk before patching Bug: 15567083, 17439961, 17510489, 17478752 (cherry picked from commit 035592c51fee2995a3d90a9043f91a7a3128df2b) Change-Id: I828dc6775044b5050c2520eb097abe6a920fd3ee
ex2oat.cc
|
88157efc1e16707d4ae10775d4acb15121c50fe7 |
12-Sep-2014 |
Nicolas Geoffray <ngeoffray@google.com> |
Add the "time" compilation filter and output compilation stats. A "time" compiler filter means the compiler optimizes for compile time. Change-Id: Id1a207ceb2d95f3548aae5e45d51b80695da2029
ex2oat.cc
|
daab38ca60c5b91787e29c87a161a2bb8c1b6f11 |
13-Sep-2014 |
Andreas Gampe <agampe@google.com> |
ART: Make elf loading not abort Changes elf_file code to use less CHECKs and instead return error values (usually nullptr). This avoids aborts. In oat_file, when loading an oat file fails, try to unlink at. If this succeeds, on the next run we may compile again. Bug: 17491333 (cherry picked from commit afa6b8e93a0dc0de33c9d404945c7c5621e20b1a) Change-Id: I50fdd2edacd86f25d4dacf2180ce2a6105eaf4af
ex2oat.cc
|
13b9f435d08ed269e7e5725ae829b1f61039a715 |
10-Sep-2014 |
Mathieu Chartier <mathieuc@google.com> |
Increase dex2oat timeouts for debug builds Should fix the 056-const-string-jumbo test. (cherry picked from commit 0bff4f375d8013a4a59cf70b3427fb461a17e6de) Change-Id: I38d03fa7f981f0c067c52782e57938bbcbabef17
ex2oat.cc
|
bd25d4bff69e4775b7844d48630618b5ad8d3343 |
03-Jul-2014 |
Razvan A Lupusoru <razvan.a.lupusoru@intel.com> |
ART: Add capability for a pass to have options This patch adds capability to have pass options. These are needed when a pass has multiple flags that can be tweaked. The user is now allowed to pass those options via command line. Since passes are treated as singletons and they are immutable, the overridden options provided by user are set on the compilation unit. Doing this way also allows a selectivity system to tweak the option per compilation instead of doing it globally (due to the single pass existing). The following command line flags have been added: --print-pass-options - This prints all passes that have options along with their defaults. --pass-options= - This is used to pass the overridden options in format of PassName:PassOption:PassOptionSetting Change-Id: Ib5156f5d2ff51a0c64c4ea0fa050bd2170663417 Signed-off-by: Razvan A Lupusoru <razvan.a.lupusoru@intel.com> Signed-off-by: Jean Christophe Beyler <jean.christophe.beyler@intel.com>
ex2oat.cc
|
1ff3c98775a4577cf053dba9a0c2d5c21c07b298 |
12-Aug-2014 |
Ian Rogers <irogers@google.com> |
Avoid use of std::string where we have const char*. Removing the ClassHelper caused std::string creation for all calls to Class::GetDescriptor and a significant performance regression. Make the std::string an out argument so the caller can maintain it and its life time while allowing GetDescriptor to return the common const char* case. Don't generate GC maps when compilation is disabled. Remove other uses of std::string that are occuring on critical paths. Use the cheaper SkipClass in CompileMethod in CompilerDriver. Specialize the utf8 as utf16 comparison code for the common shorter byte encoding. Force a bit of inlining, remove some UNLIKELYs (they are prone to pessimizing code), add some LIKELYs. x86-64 host 1-thread interpret-only of 57 apks: Before: 29.539s After: 23.467s Regular compile: Before: 1m35.347s After: 1m20.056s Bug: 16853450 Change-Id: Ic705ea24784bee24ab80084d06174cbf87d557ad
ex2oat.cc
|
f0d54278d02a69e659432fa1cf2e8a8b388565da |
09-Aug-2014 |
Andreas Gampe <agampe@google.com> |
Merge "ART: Turn on dex2oat watchdog on target"
|
dfd3b47813c14c5f1607cbe7b10a28b1b2f29cbc |
17-Jul-2014 |
Dave Allison <dallison@google.com> |
Add implicit checks for x86_64 architecture. This combines the x86 and x86_64 fault handlers into one. It also merges in the change to the entrypoints for X86_64. Replaces generic instruction length calculator with one that only works with the specific instructions we use. Bug: 16256184 Change-Id: I1e8ab5ad43f46060de9597615b423c89a836035c Signed-off-by: Chao-ying Fu <chao-ying.fu@intel.com>
ex2oat.cc
|
81550fa92a02f6c656d13b12dc188fc73ac0fb39 |
07-Aug-2014 |
Dave Allison <dallison@google.com> |
Merge "AArch64: Implicit StackOverflow/NPE/Suspend checks."
|
b30d8584bea83eb713b7a6b097225087d42828ff |
07-Aug-2014 |
Ian Rogers <irogers@google.com> |
Merge "Fix art build script."
|
d5c78f44dc53ef9fda47a95ad3e9799be850c2b2 |
11-Jun-2014 |
Stuart Monteith <stuart.monteith@arm.com> |
AArch64: Implicit StackOverflow/NPE/Suspend checks. This implements implicit stack overflow checks and null pointer exceptions for AArch64. Suspend checks are implemented but not switched on yet. Change-Id: I2eb076f2c0c9d94793d5a898fea49cf409b4eb66 Signed-off-by: Stuart Monteith <stuart.monteith@arm.com>
ex2oat.cc
|
a62a588a9202f69e53fbeb3045ea8ea5ec2587f8 |
28-Apr-2014 |
Jim_Guo <jim_guo@htc.com> |
ART: Fix memory unmapped twice issue in ElfFile::Load(bool) Root Cause: The overlapped memory region will be unmapped by (1) ~MemMap() of reservation MemMap (reserve) and (2) ~MemMap() of "reuse" MemMap (segment). Someone takes the memory region after (1) and it will be unmapped in (2). So, SIGSEGV occurs when using the unmapped memory region. Solution: Fixes this issue by skip unmap "reuse" MemMap in destructor. And always create reservation MemMap before "reuse" MemMap. (It also solved the fixupELF case which does not reserve the whole needed memory region). Bug: 16486685 Change-Id: I8f2538861d5c3fa7b9a04d2c3f516319cc060291
ex2oat.cc
|
03f92f4e2ba358c701aa1c02a73372670d616e5a |
04-Aug-2014 |
Junmo Park <junmoz.park@samsung.com> |
Fix art build script. Use ART_BUILD_HOST_NDEBUG instead of ART_BUILD_NDEBUG. Change-Id: I1fcca4c52e79bad93dcdd750989f6223df2b0df4 Signed-off-by: Junmo Park <junmoz.park@samsung.com>
ndroid.mk
|
cf4bf386ef3f527825c70e01130b9276da4f786a |
24-Jul-2014 |
Alex Light <allight@google.com> |
Tweaks to patchoat and other related things. Removed some flags from patchoat that were poorly specified and fixed some other issues with the relocation system. Bug: 15358152 Change-Id: Ia6d47b1a008f02373307d833ba45f00ea408d76f
ex2oat.cc
|
a59dd80f9f48cb750d329d4d4af2d99d72b484d1 |
03-Jul-2014 |
Alex Light <allight@google.com> |
Runtime can now be set to require relocation 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
ex2oat.cc
|
bf40ddb83e1ea05ba4bc101149cd79f0160c8996 |
17-Jul-2014 |
Andreas Gampe <agampe@google.com> |
ART: Turn on dex2oat watchdog on target Activates the watchdog on device. Bug: 16364458 Change-Id: Id7c86f5a345da35b97bc7fa1a95c86e8685f8fcd
ex2oat.cc
|
69dfe51b684dd9d510dbcb63295fe180f998efde |
11-Jul-2014 |
Dave Allison <dallison@google.com> |
Revert "Revert "Revert "Revert "Add implicit null and stack checks for x86"""" This reverts commit 0025a86411145eb7cd4971f9234fc21c7b4aced1. Bug: 16256184 Change-Id: Ie0760a0c293aa3b62e2885398a8c512b7a946a73
ex2oat.cc
|
22d5e735f403c57525fe868304c7123f0ce66399 |
16-Jul-2014 |
Ian Rogers <irogers@google.com> |
Remove object_utils.h. Break into object_lock, field_helper and method_helper. Clean up header files following this. Also tidy some of the Handle code in response to compiler errors when resolving the changes in this CL. Change-Id: I73e63015a0f02a754d0866bfaf58208aebcaa295
ex2oat.cc
|
e63db27db913f1a88e2095a1ee8239b2bb9124e8 |
16-Jul-2014 |
Ian Rogers <irogers@google.com> |
Break apart header files. Create libart-gtest for common runtime and compiler gtest routines. Rename CompilerCallbacksImpl that is quick compiler specific. Rename trace clock source constants to not use the overloaded profiler term. Change-Id: I4aac4bdc7e7850c68335f81e59a390133b54e933
ex2oat.cc
|
22f8e5c82d12951be38cd893426e13bee33fd69d |
09-Jul-2014 |
Andreas Gampe <agampe@google.com> |
Revert "Revert "ART: Key-Value Store in Oat header"" This reverts commit 452bee5da9811f62123978e142bd67b385e9ff82. Heap-allocate a couple of objects in dex2oat to avoid large frame size. Includes fixes originally in 100596 and 100605. Change-Id: Id51a44198c973c91f0a3f87b9d992a5dc110c6f8
ex2oat.cc
|
4e99b3d8955131f3fc71aa113f0fa71f0092cb6f |
24-Jun-2014 |
Sebastien Hertz <shertz@google.com> |
Add missing class initialization during compilation and tests Adds missing class initialization during compilation and tests, especially java.lang.Class. Otherwise, we'd be able to execute code while the referring class is not initialized or initializing. Also adds mirror::Class::AssertInitializedOrInitializingInThread method to check class initialization when entering the interpreter: the called method's declaring class must either be initialized or be initializing by the current thread (other threads must be waiting for the class initialization to complete holding its lock). Note we only do this check in debug build. Bump oat version to force compilation. Bug: 15899971 Change-Id: I9a4edd3739a3ca4cf1c4929dcbb44cdf7a1ca1fe
ex2oat.cc
|
3d14eb620716e92c21c4d2c2d11a95be53319791 |
10-Jul-2014 |
Dave Allison <dallison@google.com> |
Revert "Add implicit null and stack checks for x86" It breaks cross compilation with x86_64. This reverts commit 34e826ccc80dc1cf7c4c045de6b7f8360d504ccf. Change-Id: I34ba07821fc0a022fda33a7ae21850957bbec5e7
ex2oat.cc
|
34e826ccc80dc1cf7c4c045de6b7f8360d504ccf |
29-May-2014 |
Dave Allison <dallison@google.com> |
Add implicit null and stack checks for x86 This adds compiler and runtime changes for x86 implicit checks. 32 bit only. Both host and target are supported. By default, on the host, the implicit checks are null pointer and stack overflow. Suspend is implemented but not switched on. Change-Id: I88a609e98d6bf32f283eaa4e6ec8bbf8dc1df78a
ex2oat.cc
|
452bee5da9811f62123978e142bd67b385e9ff82 |
09-Jul-2014 |
Nicolas Geoffray <ngeoffray@google.com> |
Revert "ART: Key-Value Store in Oat header" Broke arm64 build. This reverts commit c87d27b25994da8670d82a8f7bad6327b693bfff. Change-Id: I4c2ade295d2b5aa77fc3ad810e0e859629a5bf09
ex2oat.cc
|
c87d27b25994da8670d82a8f7bad6327b693bfff |
27-Jun-2014 |
Andreas Gampe <agampe@google.com> |
ART: Key-Value Store in Oat header Allows the storage of string-string pairs in the oat header. The first significant use of this is storing the implicit-check flags, so that an oat file can be rejected if it doesn't agree with the current runtime. Bump the oat version as the header structure changes. Change-Id: I15a1c16886e6b8fa7b881c918c19c1efa5c7c00f
ex2oat.cc
|
53cb16b98acf3cf6f3a1e2204ad4958ecf1b5a3c |
12-Jun-2014 |
Alex Light <allight@google.com> |
Add patchoat tool to Art. Add a new executable called patchoat to art. This tool takes already compiled images and oat files and changes their base address, acting as a cheap form of relocation. Add a --include-patch-information flag to dex2oat and code to add required patch information to oat files created with the quick compiler. Bug: 15358152 Change-Id: Ie0c580db45bb14ec180deb84930def6c3628d97d
ex2oat.cc
|
44c5ee7a14bde25207032ac7c2427e8629b8ff42 |
02-Jul-2014 |
Calin Juravle <calin@google.com> |
Relax limits for profiler based compilation options. Change-Id: I57a7b11588f5c5b5f12217239ecf58f59ae02e2b
ex2oat.cc
|
f9872f0b5f713af867b4e32e647a1b92f94fb01a |
02-Jul-2014 |
Andreas Gampe <agampe@google.com> |
ART: Fix size error reported by ARM64 backend Also removes a spurious LOG in dex2oat. Change-Id: Ia264fbfb3cb8d59978f3a61e814eb6940e272ece
ex2oat.cc
|
3470ab4011b5e18d590d5375e2f13a1e3bd69222 |
18-Jun-2014 |
Alex Light <allight@google.com> |
Fixed gdb support and added some ElfFile functions Fixed gdb support so that it would continue working even when debug symbols or other sections are included in the elf file. Also made it actually read parts of the DWARF information so it should work even if there are minor changes to how and where DWARF information is written out. Added a dwarf.h file with the dwarf constants. Added a FindSectionByName function, a FindDynamicSymbol function, and the ability to specify the mmap protection and flags directly if we are mapping in the whole file. Modified elf_writer_quick.cc to use the dwarf constants from dwarf.h. Change-Id: I09e15c425fab252b331a2e4719863552e8b6b137
ex2oat.cc
|
2db3e269e3051dacb3c8a4af8f03fdad9b0fd740 |
26-Jun-2014 |
Douglas Leung <douglas@mips.com> |
Fix quick mode bugs for Mips. This patch enable quick mode for Mips and allows the emulator to boot. However the emulator is still not 100% functional. It still have problems launching some apps. Change-Id: Id46a39a649a2fd431a9f13b06ecf34cbd1d20930 Signed-off-by: Douglas Leung <douglas@mips.com>
ex2oat.cc
|
833a48501d560c9fa7fc78ef619888138c2d374f |
22-May-2014 |
Andreas Gampe <agampe@google.com> |
ART: Native support for multidex Native support for zip files with multiple classesX.dex. Works by explicitly looking for those files in ascending order. As these files have no file system representation for themselves, introduce synthetic dex locations: the name of the originating file plus a colon plus the name of the dex file, e.g., test.jar:classes2.dex. Opening a zip dex file will return all dex files in this way. This keeps the changes to dex2oat minimal. To hide multidex/synthetic names from the Java layer, let the handle of dalvik.system.DexFile refer to a vector of DexFile objects. When opening a location, test possible synthetic names and add them to the vector. Thus, the original multidex jar in the classpath will be associated with all embedded dex files. Change-Id: I0de107e1369cbc94416c544aca3b17525c9eac8b
ex2oat.cc
|
f5997b4d3f889569d5a2b724d83d764bfbb8d106 |
20-Jun-2014 |
Mathieu Chartier <mathieuc@google.com> |
More advanced timing loggers. The new timing loggers have lower overhead since they only push into a vector. The new format has two types, a start timing and a stop timing. You can thing of these as brackets associated with a timestamp. It uses these to construct various statistics when needed, such as: Total time, exclusive time, and nesting depth. Changed PrettyDuration to have a default of 3 digits after the decimal point. Exaple of a GC dump with exclusive / total times and indenting: I/art (23546): GC iteration timing logger [Exclusive time] [Total time] I/art (23546): 0ms InitializePhase I/art (23546): 0.305ms/167.746ms MarkingPhase I/art (23546): 0ms BindBitmaps I/art (23546): 0ms FindDefaultSpaceBitmap I/art (23546): 0ms/1.709ms ProcessCards I/art (23546): 0.183ms ImageModUnionClearCards I/art (23546): 0.916ms ZygoteModUnionClearCards I/art (23546): 0.610ms AllocSpaceClearCards I/art (23546): 1.373ms AllocSpaceClearCards I/art (23546): 0.305ms/6.318ms MarkRoots I/art (23546): 2.106ms MarkRootsCheckpoint I/art (23546): 0.153ms MarkNonThreadRoots I/art (23546): 4.287ms MarkConcurrentRoots I/art (23546): 43.461ms UpdateAndMarkImageModUnionTable I/art (23546): 0ms/112.712ms RecursiveMark I/art (23546): 112.712ms ProcessMarkStack I/art (23546): 0.610ms/2.777ms PreCleanCards I/art (23546): 0.305ms/0.855ms ProcessCards I/art (23546): 0.153ms ImageModUnionClearCards I/art (23546): 0.610ms ZygoteModUnionClearCards I/art (23546): 0.610ms AllocSpaceClearCards I/art (23546): 0.549ms AllocSpaceClearCards I/art (23546): 0.549ms MarkRootsCheckpoint I/art (23546): 0.610ms MarkNonThreadRoots I/art (23546): 0ms MarkConcurrentRoots I/art (23546): 0.610ms ScanGrayImageSpaceObjects I/art (23546): 0.305ms ScanGrayZygoteSpaceObjects I/art (23546): 0.305ms ScanGrayAllocSpaceObjects I/art (23546): 1.129ms ScanGrayAllocSpaceObjects I/art (23546): 0ms ProcessMarkStack I/art (23546): 0ms/0.977ms (Paused)PausePhase I/art (23546): 0.244ms ReMarkRoots I/art (23546): 0.672ms (Paused)ScanGrayObjects I/art (23546): 0ms (Paused)ProcessMarkStack I/art (23546): 0ms/0.610ms SwapStacks I/art (23546): 0.610ms RevokeAllThreadLocalAllocationStacks I/art (23546): 0ms PreSweepingGcVerification I/art (23546): 0ms/10.621ms ReclaimPhase I/art (23546): 0.610ms/0.702ms ProcessReferences I/art (23546): 0.214ms/0.641ms EnqueueFinalizerReferences I/art (23546): 0.427ms ProcessMarkStack I/art (23546): 0.488ms SweepSystemWeaks I/art (23546): 0.824ms/9.400ms Sweep I/art (23546): 0ms SweepMallocSpace I/art (23546): 0.214ms SweepZygoteSpace I/art (23546): 0.122ms SweepMallocSpace I/art (23546): 6.226ms SweepMallocSpace I/art (23546): 0ms SweepMallocSpace I/art (23546): 2.144ms SweepLargeObjects I/art (23546): 0.305ms SwapBitmaps I/art (23546): 0ms UnBindBitmaps I/art (23546): 0.275ms FinishPhase I/art (23546): GC iteration timing logger: end, 178.971ms Change-Id: Ia55b65609468f212b3cd65cda66b843da42be645
ex2oat.cc
|
b03a0ec8cf841bf49d2e146e140cb3ca21eca752 |
24-Jun-2014 |
Alex Light <allight@google.com> |
Fixed ImageWriter timings not being written out. During host runs of dex2oat the timings for ImageWriter would not be written out. Change-Id: I74ce8bae724d1e732a6a1efb1c82804473081693
ex2oat.cc
|
ca3aabac5748c256c42839dd16e8c80a09d99a48 |
23-Jun-2014 |
Dave Allison <dallison@google.com> |
Fix implicit check option handling for non-cross-compiles This fixes an issue where the compiler was not being told to generate implicit checks but the runtime was expecting them. Bug: 15747876 Change-Id: I65e7475bac245c44d5094eb666d67bc1af327ab1
ex2oat.cc
|
5c1ad33701beac62afbfb144bb6f52755503c9f2 |
22-Jun-2014 |
Ian Rogers <irogers@google.com> |
Merge "Use command line android root in dex2oat to find image."
|
9cad72d80603b3ff59be66b2cffd3f6dcbd9947f |
20-Jun-2014 |
buzbee <buzbee@google.com> |
Quick compiler: enable Arm64 compilation Change-Id: I19058defaff1c60b4b6b4d1ad82e0a42d50506a6
ex2oat.cc
|
4f975b9e2cb7eb50db27093eaa842b7400e52834 |
19-Jun-2014 |
Bill Buzbee <buzbee@android.com> |
Merge "x86_64: Enable core.oat/boot.oat compilation"
|
0c416fe40f675a3bff4d8cfb591d66fb69b73958 |
13-Jun-2014 |
Dmitry Petrochenko <dmitry.petrochenko@intel.com> |
x86_64: Enable core.oat/boot.oat compilation This patch enabled compilation of image. Change-Id: Idacce4a3898964d3a05762925dba236d7254a254 Signed-off-by: Dmitry Petrochenko <dmitry.petrochenko@intel.com>
ex2oat.cc
|
5655e84e8d71697d8ef3ea901a0b853af42c559e |
18-Jun-2014 |
Andreas Gampe <agampe@google.com> |
ART: Implicit checks in the compiler are independent from Runtime When cross-compiling, those flags are independent. This is an initial CL that helps bypass fatal failures when cross-compiling, as not all architectures support (and have turned on) implicit checks. The actual transport for the target architecture when it is different from the runtime needs to be implemented in a follow-up CL. Bug: 15703710 Change-Id: Idc881a9a4abfd38643b862a491a5af9b8841f693
ex2oat.cc
|
33ae5583bdd69847a7316ab38a8fa8ccd63093ef |
12-Jun-2014 |
buzbee <buzbee@google.com> |
Arm64 hard-float Basic enabling of hard-float for Arm64. In future CLs we'll consolidate the various targets - there is a lot of overlap. Compilation remains turned off in this CL, but I expect to enable a subset shortly. With compilation fully enabled (including the EXPERIMENTAL opcodes with the exception of REM and THROW), we get the following run-test results: 003-omnibus-opcode failures: Classes.checkCast Classes.arrayInstance UnresTest2 Haven't gone deep, but these appear to be related to throw/catch and/or stacktrace. For REM, the generated code looks reasonable to me - my guess is that we've got something wrong on the transition to the runtime. Haven't looked deeper yet, though. The bulk of the other failure also appear to be related to transitioning to the runtime system, or handling try/catch. run-test status: Status with optimizations disabled, REM_FLOAT/DOUBLE and THROW disabled: succeeded tests: 94 failed tests: 22 failed: 003-omnibus-opcodes failed: 004-annotations failed: 009-instanceof2 failed: 024-illegal-access failed: 025-access-controller failed: 031-class-attributes failed: 044-proxy failed: 045-reflect-array failed: 046-reflect failed: 058-enum-order failed: 062-character-encodings failed: 063-process-manager failed: 064-field-access failed: 068-classloader failed: 071-dexfile failed: 083-compiler-regressions failed: 084-class-init failed: 086-null-super failed: 087-gc-after-link failed: 100-reflect2 failed: 107-int-math2 failed: 201-built-in-exception-detail-messages Change-Id: Ib66209285cad8998d77a14781de300af02a96b15
ex2oat.cc
|
887235845e203fce046c17120e86d4cac4c56035 |
13-Jun-2014 |
Ian Rogers <irogers@google.com> |
Use command line android root in dex2oat to find image. Change-Id: I20a025e07da3792131d7126ef0e5863b923c794b
ex2oat.cc
|
df88a9e44673655009cc560947d29c1400516f12 |
14-Jun-2014 |
Ian Rogers <irogers@google.com> |
Merge "x86_64: Enable compilation"
|
136aaee2993a4a5fd93eb9371584161c6d1c7445 |
06-Jun-2014 |
Dmitry Petrochenko <dmitry.petrochenko@intel.com> |
x86_64: Enable compilation This patch enables compilation of all methods for x86_64 except image. Change-Id: Ie210809f2595cc25da688a4ad0363c258bcf8233 Signed-off-by: Dmitry Petrochenko <dmitry.petrochenko@intel.com>
ex2oat.cc
|
78382fa44ee505cf16835e4d22515e7252a90864 |
07-Jun-2014 |
Alex Light <allight@google.com> |
Optionally add debug symbols to ELF files made by quick compiler. Added debug symbols to ELF files created by dex2oat using the quick compiler. Adds two flags --include-debug-symbols and --no-include-debug-symbols for dex2oat that control the inclusion of these debug symbols. Debug info is added by default if kIsDebugBuild is true. Fixed bug where Intel DWARF information would not correctly deal with deduplicated code the binary. Changed the portable compiler code path in dex2oat.cc so that symbols will not be stripped when run with --include-debug-symbols. Change-Id: Ia2eb2f654dedf0e5e8606f7744e05b8d14155fb1
ex2oat.cc
|
c5f17732d8144491c642776b6b48c85dfadf4b52 |
06-Jun-2014 |
Ian Rogers <irogers@google.com> |
Remove deprecated WITH_HOST_DALVIK. Bug: 13751317 Fix the Mac build: - disable x86 selector removal that causes OS/X 10.9 kernel panics, - madvise don't need does zero memory on the Mac, factor into MemMap routine, - switch to the elf.h in elfutils to avoid Linux kernel dependencies, - we can't rely on exclusive_owner_ being available from other pthread libraries so maintain our own when futexes aren't available (we can't rely on the OS/X 10.8 hack any more), - fix symbol naming in assembly code, - work around C library differences, - disable backtrace in DumpNativeStack to avoid a broken libbacktrace dependency, - disable main thread signal handling logic, - align the stack in stub_test, - use $(HOST_SHLIB_SUFFIX) rather than .so in host make file variables. Not all host tests are passing on the Mac with this change. dex2oat works as does running HelloWorld. Change-Id: I5a232aedfb2028524d49daa6397a8e60f3ee40d3
ndroid.mk
|
20aa7cbe93d782e0e756a36e70d610fe84b4bbb4 |
06-Jun-2014 |
Calin Juravle <calin@google.com> |
Merge "Fixed and refactored profiler options handling"
|
c1b643cc6ac45dbd0eabdcd7425c7e86006c27d6 |
31-May-2014 |
Calin Juravle <calin@google.com> |
Fixed and refactored profiler options handling - extracted profiler options in a separate class - switched from system property reading to command line arguments - added profile based compilation options to CompilerOptions - removed no longer used kProfile compilation filter - optimize dex files only if the profiler is enabled - clean up unused arguments Bug: 12877748 Bug: 15275634 Change-Id: I37ff68e7694370950ce8db2360562e9058ecebb7
ex2oat.cc
|
f94b781745e715463482695e22addfa95198b548 |
05-Jun-2014 |
Vladimir Marko <vmarko@google.com> |
Workaround for running out of address space on N7v1. Bug: 13564922 Change-Id: I2ac466f613e465691078c41b2693f2327d07a0a8
ex2oat.cc
|
2469e60e6ff08c2a0b4cd1e209246c5d91027679 |
07-May-2014 |
Jean Christophe Beyler <jean.christophe.beyler@intel.com> |
ART: Setting up cleanup - Moved code around to actually have the clean-up code in a PassDriver format. This allows us to better control what is being called after an optimization It also allows the use of a centralized pass system for both optimizations and cleanup. Change-Id: I9d21e9bb9ee663739722f440d82adf04f73e380c Signed-off-by: Jean Christophe Beyler <jean.christophe.beyler@intel.com> Signed-off-by: Razvan A Lupusoru <razvan.a.lupusoru@intel.com> Signed-off-by: Yixin Shou <yixin.shou@intel.com> Signed-off-by: Chao-ying Fu <chao-ying.fu@intel.com> Signed-off-by: Udayan Banerji <udayan.banerji@intel.com>
ex2oat.cc
|
a9f1ce6fbe8a9247d0d8e20727f590b091e816da |
28-May-2014 |
Vladimir Marko <vmarko@google.com> |
Fix pass driver's dump_pass_list_ and print_pass_list_. The lists were allocated with new char[], so they should have been held by std::unique_ptr<const char[]> rather than std::unique_ptr<const char>. However, it's much cleaner with std::string. Change-Id: Ie7c604773272194345f5e6e3c4803c3a914edf99
ex2oat.cc
|
6d25996baef5037d0aa8beb2f517755f2fb7b91f |
28-May-2014 |
Ian Rogers <irogers@google.com> |
Merge "ART: Print and dump functionalities per pass"
|
8bceccec7eddff8cd872aa20505b4a3a6be60a16 |
29-Apr-2014 |
Jean Christophe Beyler <jean.christophe.beyler@intel.com> |
ART: Print and dump functionalities per pass LOG is a great logging tool but sometimes a pass has some debugging text it want to be able to turn on/off easily. By going via a print_pass flag, we can actually turn it on/off easily per pass when debugging/instrumenting. - Added a pass printer to help debug messages for future passes. - Added a print_pass flag in CompilationUnit to filter out messages. At the same time, did a similar system for dumping the CFG. - Also moved some API into public from protected. Change-Id: Ie0e89a8fc773e8583f3e4ffd6e4bd2eebdbb2bf4 Signed-off-by: Jean Christophe Beyler <jean.christophe.beyler@intel.com> Signed-off-by: Razvan A Lupusoru <razvan.a.lupusoru@intel.com> Signed-off-by: Yixin Shou <yixin.shou@intel.com> Signed-off-by: Chao-ying Fu <chao-ying.fu@intel.com> Signed-off-by: Udayan Banerji <udayan.banerji@intel.com>
ex2oat.cc
|
0aa504b5bb19f0944d50941b20c8eeaca4165328 |
23-May-2014 |
Brian Carlstrom <bdc@google.com> |
Fix ExtractToMemMap to show original zip file name in ashmem (cherry picked from commit 1fca8e91f32dc8b13d3129b7ef4a0194839736e6) Change-Id: Id7d22600496b090ac32150c8c6424da89964b6be
ex2oat.cc
|
4f59668b3d51f63601ebe59dbd2b7e8a7c5bd093 |
01-May-2014 |
James C Scott <james.c.scott@intel.com> |
ART: Pass driver generalization - Generalizing Pass Driver. - Migrating ME Pass Driver to use the new generalized Pass Driver. There will be some more changes after in the compiler code to generalize it a bit more by separating what is being done by the optimizing passes and post-pass cleanups. Change-Id: I140a70e88483d7c3991b7d336bd593b2613ae194 Signed-off-by: James C Scott <james.c.scott@intel.com>
ex2oat.cc
|
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
ex2oat.cc
|
6cd2845c8697074c97b01a68f241314aded9f492 |
17-May-2014 |
Andreas Gampe <agampe@google.com> |
ART: Turn off ARM64 compilation for now When no compiler filter string is given to dex2oat for ARM64, default to interpreter. Change-Id: I2a97e07b1d9b75a04aafe4aaa4437e500bdaf202
ex2oat.cc
|
3ac05bba3eadccb33d26b41d9797f63e8378125f |
14-May-2014 |
Brian Carlstrom <bdc@google.com> |
Remove ISA from boot image name. Partially reverts b9beb2e2efb6a204a69ca660d478b45f851e8f09 Bug: 14882223 (cherry picked from commit 3da44327c8306bb354c0163a7c7779dea6eeb38a) Change-Id: Idc9266a97d1047434c110ef140e2f2708c4aadef
ex2oat.cc
|
5131638f826b74c4e2af62b8ac70eeef1232c99b |
13-May-2014 |
Kenny Root <kroot@google.com> |
dex2oat: convert NULL to nullptr Change-Id: I658511212f7ab265de473e198f8fe3625bbc9b46
ex2oat.cc
|
20cdc069f06f34828e51bcf89597bebe5df445d5 |
14-May-2014 |
Kenny Root <kroot@google.com> |
Merge "Changes for vogar compatibility"
|
d5185344e19d9feb7ac268369e0af6a467d1cb48 |
13-May-2014 |
Kenny Root <kroot@google.com> |
Changes for vogar compatibility Make sure dex2oat can make an image with an empty list of image_classes. Add in some checks to make sure that no bad arguments sneak into CompilerDriver. If we're not on the ART_TARGET, we should check for the "hostdex" versions of the libraries to substitute in our libart version. Change-Id: I5e8485c6089d25664492f0217b43ef64ca84c061
ex2oat.cc
|
eb8167a4f4d27fce0530f6724ab8032610cd146b |
08-May-2014 |
Mathieu Chartier <mathieuc@google.com> |
Add Handle/HandleScope and delete SirtRef. Delete SirtRef and replaced it with Handle. Handles are value types which wrap around StackReference*. Renamed StackIndirectReferenceTable to HandleScope. Added a scoped handle wrapper which wraps around an Object** and restores it in its destructor. Renamed Handle::get -> Get. Bug: 8473721 Change-Id: Idbfebd4f35af629f0f43931b7c5184b334822c7a
ex2oat.cc
|
ad930da1d67968600aab8441c24f5c4cc6e001bd |
13-May-2014 |
Vladimir Marko <vmarko@google.com> |
Merge "Move quick frame info to OatQuickMethodHeader."
|
7624d25dad2d1ba25969ae704fccf68649103ae5 |
02-May-2014 |
Vladimir Marko <vmarko@google.com> |
Move quick frame info to OatQuickMethodHeader. Rename OatMethodHeader to OatQuickMethodHeader, move frame info from OatMethodOffsets to OatQuickMethodHeader. Retrieve the info from other places for non-quick methods (portable compiled bytecode or jni stub, generic jni, runtime, abstract and proxy). This change has a libcore/ companion CL "Remove ArtMethod's quick fields for frame size and spills." https://android-review.googlesource.com/94164 Bug: 11767815 Change-Id: I0e31a7875d76732e1ec479c86b9b5ca01203507f
ex2oat.cc
|
b9beb2e2efb6a204a69ca660d478b45f851e8f09 |
10-May-2014 |
Ian Rogers <irogers@google.com> |
Place ISA into boot image name. Depends upon: https://android-review.googlesource.com/94078 Change-Id: I22c18b03b2c0db7a3f792920064e7710363b58b4
ex2oat.cc
|
674744e635ddbdfb311fbd25b5a27356560d30c3 |
24-Apr-2014 |
Vladimir Marko <vmarko@google.com> |
Use atomic load/store for volatile IGET/IPUT/SGET/SPUT. Bug: 14112919 Change-Id: I79316f438dd3adea9b2653ffc968af83671ad282
ex2oat.cc
|
9e06c8cd4a2e1471754470e09aaab63c0795b4af |
06-May-2014 |
Zheng Xu <zheng.xu@arm.com> |
AArch64: Add fake arm64 backend, and disable it by method filter. Just create an ArmCodeGenerator for arm64, but currently no code will be generated for arm64. The method filter can: 1. Skip methods with unsupported prototype. 2. Skip methods with unsupported dalvik byte code. 3. Skip methods with invocation to unsupported prototype. These are temporary codes and should be removed later. But with this patch, it won't break anything when we merge partly implemented arm64 backend later. Change-Id: Ib9180d7b8a978f0a5ebaf6b4893e7e3724897113
ex2oat.cc
|
43221f789244a898dc9f14e8b063d4c73326b47a |
02-May-2014 |
Ian Rogers <irogers@google.com> |
Merge "Disable the ahead-of-time compilation for MIPS."
|
7ca278be5f6f15681350e9f05af434df4aab59ca |
01-May-2014 |
Ian Rogers <irogers@google.com> |
Disable the ahead-of-time compilation for MIPS. Bug: 14464004 Change-Id: I551c0dc4122853a1a9ab566d03bac74cc057cba5
ex2oat.cc
|
11d9f06a96a6909905c248ed684366190140095c |
23-Apr-2014 |
Narayan Kamath <narayan@google.com> |
Use instruction specific dalvik cache dirs. - All oat & art files are now placed under /data/dalvik-cache/<isa>/. - GetDalvikCacheOrDie now requires a mandatory subdirectory argument, and is implicitly rooted under /data/. - Added helper methods to convert InstructionSet enums into strings and vice versa. (cherry picked from commit 2974bc3d8a5d161d449dd66826d668d87bdc3cbe) Change-Id: Ic7986938e6a7091a2af675ebafec768f7b5fb8cd
ex2oat.cc
|
bf25f7e3a007ecfe4b2bcfa0a9abcb784ff54e26 |
28-Apr-2014 |
Brian Carlstrom <bdc@google.com> |
Merge "Fix typo of --oat-fd description in help"
|
9cb554a7784307d97c20991d90c76d9cf8a12e01 |
28-Apr-2014 |
Wonil Kim <wonil.kim@gmail.com> |
Fix typo of --oat-fd description in help --oat-fd description in help was copied from --oat-file description. Change-Id: Idbf36018af58db169f6d65382a7602ec950cce99 Signed-off-by: Wonil Kim <wonil.kim@gmail.com>
ex2oat.cc
|
09881a85579cab1779ddf6ba9a91eed861a13cb2 |
19-Apr-2014 |
Brian Carlstrom <bdc@google.com> |
Do not require dexopt when previous profile does not exist Also turn down some dex2oat related noise Bug: 14184659 Change-Id: I134890f2c452d7f85ca4b736b5724f42533c2a7f
ex2oat.cc
|
5a9cef81718465118662b22cfa616457cf91b27a |
17-Apr-2014 |
Andreas Gampe <agampe@google.com> |
Build dex2oat as 64b for the target when using zygote64 In single-zygote 64b builds we should build dex2oat as 64b to avoid installd issues Change-Id: I5f281d90fbd44abbca4182e39162b184be9f1b35
ndroid.mk
|
04ae1630adb4d4f10bfa7fded595052a9124de76 |
11-Apr-2014 |
Stuart Monteith <stuart.monteith@arm.com> |
AArch64: List arm64 as instruction set option When arm64 was added to dex2oat, it wasn't added to the list of instruction sets in the help text. This adds it. Change-Id: I9ffecb67a053b24ad624effd1853ff47331d2e91 Signed-off-by: Stuart Monteith <stuart.monteith@arm.com>
ex2oat.cc
|
d6ed642458c8820e1beca72f3d7b5f0be4a4b64b |
10-Apr-2014 |
Dave Allison <dallison@google.com> |
Revert "Revert "Revert "Use trampolines for calls to helpers""" This reverts commit f9487c039efb4112616d438593a2ab02792e0304. Change-Id: Id48a4aae4ecce73db468587967968a3f7618b700
ex2oat.cc
|
f9487c039efb4112616d438593a2ab02792e0304 |
09-Apr-2014 |
Dave Allison <dallison@google.com> |
Revert "Revert "Use trampolines for calls to helpers"" This reverts commit 081f73e888b3c246cf7635db37b7f1105cf1a2ff. Change-Id: Ibd777f8ce73cf8ed6c4cb81d50bf6437ac28cb61 Conflicts: compiler/dex/quick/mir_to_lir.h
ex2oat.cc
|
081f73e888b3c246cf7635db37b7f1105cf1a2ff |
07-Apr-2014 |
Dave Allison <dallison@google.com> |
Revert "Use trampolines for calls to helpers" This reverts commit 754ddad084ccb610d0cf486f6131bdc69bae5bc6. Change-Id: Icd979adee1d8d781b40a5e75daf3719444cb72e8
ex2oat.cc
|
754ddad084ccb610d0cf486f6131bdc69bae5bc6 |
19-Feb-2014 |
Dave Allison <dallison@google.com> |
Use trampolines for calls to helpers This is an ARM specific optimization to the compiler that uses trampoline islands to make calls to runtime helper functions. The intention is to reduce the size of the generated code (by 2 bytes per call) without affecting performance. By default this is on when generating an OAT file. It is off when compiling to memory. To switch this off in dex2oat, use the command line option: --no-helper-trampolines Enhances disassembler to print the trampoline entry on the BL instruction like this: 0xb6a850c0: f7ffff9e bl -196 (0xb6a85000) ; pTestSuspend Bug: 12607709 Change-Id: I9202bdb7cf21252ad807bd48701f1f6ce8e3d0fe
ex2oat.cc
|
91268c1afd6c0d4fad55b7c86d907233d4660205 |
04-Apr-2014 |
Andreas Gampe <agampe@google.com> |
Check the machine type of an ELF file when loading. This ensures that we reject wrong target ELF files, and should result in a recompile for the right target. Change-Id: I898dddc4f2bb9b1607a7436083d0ba7619b6007b
ex2oat.cc
|
4a200f56b7075309316b04d550c9cc50f8314edd |
01-Apr-2014 |
Jeff Hao <jeffhao@google.com> |
Add support for -Xverify:none mode. This mode skips all verification and compilation. Public bug: https://code.google.com/p/android/issues/detail?id=67664 Change-Id: Idd00ab8e9e46d129c02988b063c41a507e07bf5b
ex2oat.cc
|
a7a49dd64b2cce5cd3918a01c9cd372931f90dd8 |
03-Apr-2014 |
Ian Rogers <irogers@google.com> |
Merge "Pass instruction-set from runtime through to spawned dex2oat."
|
8afeb85d3def12b559b7565fb6d3956f81b55132 |
02-Apr-2014 |
Ian Rogers <irogers@google.com> |
Pass instruction-set from runtime through to spawned dex2oat. Change-Id: I1727af7beb9f710c29124d4d6bc9175e4856f3cc
ex2oat.cc
|
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
ndroid.mk
|
b95a5345ae4217b70ca36f0cced92f68dda7caf5 |
12-Mar-2014 |
Stuart Monteith <stuart.monteith@arm.com> |
AArch64: Add arm64 runtime support. 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
ex2oat.cc
|
0cecf494999cc35e13ff2104145c1d9229bf8776 |
13-Mar-2014 |
Vladimir Marko <vmarko@google.com> |
Merge "Add dex2oat --print-pass-names and --disable-passes= options."
|
b34f69ab43aaf7a6e6045c95f398baf566ef5023 |
07-Mar-2014 |
Nicolas Geoffray <ngeoffray@google.com> |
Add command line support for enabling the optimizing compiler. Also run tests with the optimizing compiler enabled when the file art/USE_OPTIMIZING_COMPILER is present. Change-Id: Ibc33eed62a43547bc3b9fe786d014c0d81b5add8
ex2oat.cc
|
ffb939a0709ccb100d450e6e30d4c1ca85132163 |
12-Mar-2014 |
Ian Rogers <irogers@google.com> |
Set default dex2oat instruction set for x86-64 and ARM64. Change-Id: I43062dfadb8a4f51304fd06f0105d6af81cf0331
ex2oat.cc
|
cd8ce66a83af05d5ecb59aa6a8aad89a29e0a844 |
11-Mar-2014 |
Chao-ying Fu <chao-ying.fu@intel.com> |
Add dex2oat --print-pass-names and --disable-passes= options. Add --print-pass-names to print a list of pass names. Add --disable-passes= to disable one ore more passes separated by comma. Ex: Using --disable-passes=UseCount,BBOptimizations can disable UseCount and BBOptimizations passes. Change-Id: I0dffaf10547afdcca78a20d8e0e6b358bfb2ee8c Signed-off-by: Chao-ying Fu <chao-ying.fu@intel.com>
ex2oat.cc
|
39c3bfbd03d85c63cfbe69f17ce5800ccc7d6c13 |
29-Jan-2014 |
Dave Allison <dallison@google.com> |
Make use of profiling information for dex2oat If the profile file exists, the compiler driver will read it and store the data in an internal map. Then, when we want to work out whether to compile a method or not, the map is consulted and if the method shows up with a high enough percentage of use we compile it. The profile file itself is created by installd and is writeable by the app. The file is in /data/dalvik-cache/profiles and is named by the package name. This also modifies the profiler itself to: 1. Only count runnable threads (not suspended threads) in the profile 2. Use system properties to allow tuning of the profile parameters 3. Merge profiles from multiple processes using file locking. Bug: 12877748 Change-Id: Iab2f3a327a2860db2a80d5724277d6c626227f2b Conflicts: compiler/dex/frontend.cc compiler/dex/mir_analysis.cc compiler/dex/verification_results.cc compiler/driver/compiler_driver.cc dex2oat/dex2oat.cc runtime/class_linker.cc runtime/runtime.cc runtime/runtime.h
ex2oat.cc
|
c645f1ddb7c40bea6a38eda4b3f83f6b6dec405b |
07-Mar-2014 |
Mathieu Chartier <mathieuc@google.com> |
Add more VerifyObject calls. Added verify object calls to SirtRef, IndirectReferenceTable, ReferenceTable. Removed un-needed verify object in ScopedObjectAccess / DecodeJObject since object sources are handled. Bug: 12934910 Change-Id: I55a46a8ea61fed2a77526eda27fd2cce97a9b125
ex2oat.cc
|
befbd5731ecca08f08780ee28a913d08ffb14656 |
06-Mar-2014 |
Ian Rogers <irogers@google.com> |
Fix host architecture for 64bit. 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
ex2oat.cc
|
5e754d88c73f1f1fafbbf87d564df000d5a0a12c |
05-Mar-2014 |
Brian Carlstrom <bdc@google.com> |
Revert "Revert "Avoid compiling monster methods in boot image"" This reverts commit f679fab9be8905505d26a62bea257641f0bb0168. (cherry picked from commit 9d0bdfe63bec5a43d7668d9094a52caf77b6ed53) Change-Id: I72af1d44483edbd2a5f2e6b678e43f740d4613fd
ex2oat.cc
|
449fa6e44b220e48dee20f569b46161f3a056add |
05-Mar-2014 |
Brian Carlstrom <bdc@google.com> |
Revert "Avoid compiling monster methods in boot image" This reverts commit 217e789288d5a321460ea2399e0eb7f3af6fc91b. (cherry picked from commit f679fab9be8905505d26a62bea257641f0bb0168) Change-Id: I058dd461d97bc5992b69941c7597a0aca25df38c
ex2oat.cc
|
217e789288d5a321460ea2399e0eb7f3af6fc91b |
06-Feb-2014 |
buzbee <buzbee@google.com> |
Avoid compiling monster methods in boot image The Quick compiler normally avoids compiling extremely large methods (which are usually auto-generated initialization routines) because they take too long to compile, and generally aren't executed frequently enough to benefit from compilation. However, we'd previously compiled even large methods in the boot image - because it is normally cross-compiled on the host. However, we are currently compiling it on the target in some situations. This change moves the default for image creation from "compile everything" to "compile most things". Change-Id: If096e1ae5db2e3a394880e36e19607358e77d677
ex2oat.cc
|
2ec6520d57479d393bffa05defa1479b25ca8382 |
04-Mar-2014 |
Brian Carlstrom <bdc@google.com> |
Support compiler filters for boot classpath image_writer.cc Remove assumption that all methods in the boot classpath are compiled oat_writer.cc Don't skip writing ArtMethod::quick_code_offset_ for methods that need resolution, leave that to ImageWriter dex2oat.cc Allow dex2dex compilation of image dex files by making the in memory pages writable in all cases, not just app case. oatdump.cc dump new OatHeader fields use ImageSpace.GetImageFilename, not command line image filename, since location may be in dalvik-cache remove inaccurate check about non-null GC map quick_trampoline_entrypoints.cc add and improve some DCHECKS that were useful while debugging class_linker.cc image_space.cc fix double facepalm parsed_options.cc fix zygote logging to not skip values to two part options like -classpath <foo> runtime.cc wireup parsed compiler options to runtime Change-Id: Iad314df0b80623c0663d61713d5098297ab9ac87
ex2oat.cc
|
9583fbcf597eff6d0b3c5359b8e8d5f70ed82c40 |
28-Feb-2014 |
Nicolas Geoffray <ngeoffray@google.com> |
Remove oat file location in the image. 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
ex2oat.cc
|
ae9fd93c39a341e2dffe15c61cc7d9e841fa92c4 |
11-Feb-2014 |
Mark Mendell <mark.p.mendell@intel.com> |
Tell GDB about Quick ART generated code This is actually a lot of work. To do this, we need: .debug_info .debug_abbrev .debug_frame .debug_str These are generated into the OAT file by OatWriter and ElfWriterQuick. Since the Quick ART runtime doesn't use dlopen to load the OAT files, GDB can't find this information. Use the alternate GDB JIT interface, which can be invoked at runtime. To use this interface, an ELF image needs to be built in memory. Read the information from the OAT file, fixup the addresses to point to the real locations, add a symbol table to hold the .text symbol, and then let GDB know about the information, which will be read from the runtime address space. This is quite primitive now, and could be cleaned up considerably. It probably needs symbol table entries for the methods, and descriptions of parameters and return types. Currently only supported for X86. This defaults to enabled for debug builds. Added dexoat --gen-gdb-info and --no-gen-gdb-info flags to override. Change-Id: I4d18b2370f6dfaa00c8cc1925f10717be3bd1a62 Signed-off-by: Mark Mendell <mark.p.mendell@intel.com>
ex2oat.cc
|
3d504075f7c1204d581923460754bf6d3714b13f |
01-Mar-2014 |
Ian Rogers <irogers@google.com> |
Make out arguments non-reference types. Also, tidy some portable related code. Change-Id: I67c8aa52eef8b556ca117ecda1b1e75465ba06a5
ex2oat.cc
|
ae7083dac2db59dcdef869e35ac44a039d888ee9 |
25-Feb-2014 |
Brian Carlstrom <bdc@google.com> |
Add additional const Change-Id: Ibf60cd4cfbb445189efe2439899f2a7084f1ea63
ex2oat.cc
|
6449c62e40ef3a9bb75f664f922555affb532ee4 |
11-Feb-2014 |
Brian Carlstrom <bdc@google.com> |
Create CompilerOptions Package up most compiler related options in CompilerOptions. Details include: - Includes compiler filter, method thresholds, SEA IR mode. - Excludes those needed during Runtime::Init such as CompilerCallbacks and VerificationResults. - Pass CompilerOptions to CompilerDriver. - Remove CompilerOptions from Runtime. - Add ability to pass options for app and image dex2oat to runtime via -Xcompiler-option and -Ximage-compiler-option respectively. Other - Replace 2x CompilerCallbacks implementations with one. - Factor out execv code for use by both image and oat generation. - More OatFile error_msg reporting. - DCHECK for SuspendAll found trying to run valgrind. Change-Id: Iecb57da907be0c856d00c3cd634b5042a229e620
ex2oat.cc
|
4e30541a92381fb280cd0be9a1763b713ee4d64c |
19-Feb-2014 |
Mathieu Chartier <mathieuc@google.com> |
Fix and optimize verify object. VerifyObject no longer resides in heap. You can now enable VerifyObject for non-debug builds. VerifyStack is still slow, so it is now guarded by its own flag. Fixed the image writer to not use verification at places where verification fails due to invalid reads. Fixed RosAlloc to use SizeOf which doesn't call verify object. Added a flag paremeter to some of the mirror getters / setters to be able to selectively disable VerifyObject on certain calls. Optimized the GC to not verify each object multiple times during object scanning if verify object is enabled. Added 3 verification options: verify reads, verify this, and verify writes so that you can select how much verification you want for mirror getters and setters. Removed some useless DCHECKs which would slow debug builds without providing any benefits. TODO: RosAlloc verification doesn't currently work with verify objects. Bug: 12934910 Bug: 12879358 Change-Id: Ic61033104dfc334543f89b0fc0ad8cd4f4015d69
ex2oat.cc
|
5180cc1cddc5112ea544bf9d8323f1d27db56f75 |
21-Feb-2014 |
Ian Rogers <irogers@google.com> |
Fix a printf flag that breaks 64bit host builds. Change-Id: I2dacf3adccde6a397530e91a541d39bcf92627d2
ex2oat.cc
|
f79fccbf8b5e59a0f48bec754cb7a53877b3c90f |
20-Feb-2014 |
Brian Carlstrom <bdc@google.com> |
Add debug code for saving dex file inputs Also improve some other logging. Bug: 13078746 Change-Id: Ic7a7c201b935e2b117ddc38b652cf39152fe42dc
ex2oat.cc
|
f3e2cc4a38389aa75eb8ee3973a535254bf1c8d2 |
18-Feb-2014 |
Nicolas Geoffray <ngeoffray@google.com> |
Code cleanup to avoid LLVM dependency when building with quick only. Change-Id: I0985c227d775c72fd23975d4c9bf673ba32615c2
ex2oat.cc
|
f5df8974173124faddb8e2b6a331959afdb94fdf |
14-Feb-2014 |
Nicolas Geoffray <ngeoffray@google.com> |
Rewrite the compiler interface for CompilerDriver. Change-Id: I15fa9afe7ffb7283ebda8d788a1e02793e3f75a6
ex2oat.cc
|
abaf927f29f6feceb3df3e6ced7d01970ba0dbe9 |
11-Feb-2014 |
Nicolas Geoffray <ngeoffray@google.com> |
Merge "Re-apply: Implement cumulative timings for CompilerDriver."
|
ea3fa0b4ba13d7bd7f7c1cd85202ccbe141a35ae |
10-Feb-2014 |
Nicolas Geoffray <ngeoffray@google.com> |
Re-apply: Implement cumulative timings for CompilerDriver. The bug was due to how the test infrastructure works: a compiler driver surives the stack where it is allocated. Change-Id: I345fe0e4afb2bd15937233db8afb350f09429558
ex2oat.cc
|
2bc47809febcf36369dd40877b8226318642b428 |
10-Feb-2014 |
Vladimir Marko <vmarko@google.com> |
Revert "Revert "Check FastInstance() early for special getters and setters."" This reverts commit 632e458dc267fadfb8120be3ab02701e09e64875. Change-Id: I5098c41ee84fbbb39397133a7ecfd367fecebe42
ex2oat.cc
|
632e458dc267fadfb8120be3ab02701e09e64875 |
08-Feb-2014 |
Ian Rogers <irogers@google.com> |
Revert "Check FastInstance() early for special getters and setters." This reverts commit 5dc5727261e87ba8a418e2d0e970c75f67e4ab79. Change-Id: I3299c8ca5c3ce3f2de994bab61ea16a734f1de33
ex2oat.cc
|
5dc5727261e87ba8a418e2d0e970c75f67e4ab79 |
05-Feb-2014 |
Vladimir Marko <vmarko@google.com> |
Check FastInstance() early for special getters and setters. Perform the FastInstance() check for getters and setters when they are detected by the inliner. This will help avoid the FastInstance() check for inlining. We also record the field offset and whether the field is volatile and whether the method is static for use when inlining or generating the special accessors. Change-Id: I3f832fc9ae263883b8a984be89a3b7793398b55a
ex2oat.cc
|
ef7d42fca18c16fbaf103822ad16f23246e2905d |
06-Jan-2014 |
Ian Rogers <irogers@google.com> |
Object model changes to support 64bit. Modify mirror objects so that references between them use an ObjectReference value type rather than an Object* so that functionality to compress larger references can be captured in the ObjectRefererence implementation. ObjectReferences are 32bit and all other aspects of object layout remain as they are currently. Expand fields in objects holding pointers so they can hold 64bit pointers. Its expected the size of these will come down by improving where we hold compiler meta-data. Stub out x86_64 architecture specific runtime implementation. Modify OutputStream so that reads and writes are of unsigned quantities. Make the use of portable or quick code more explicit. Templatize AtomicInteger to support more than just int32_t as a type. Add missing, and fix issues relating to, missing annotalysis information on the mutator lock. Refactor and share implementations for array copy between System and uses elsewhere in the runtime. Fix numerous 64bit build issues. Change-Id: I1a5694c251a42c9eff71084dfdd4b51fff716822
ex2oat.cc
|
65c23bbb25f069b3b49761468b848c4e5d1aa879 |
02-Feb-2014 |
Brian Carlstrom <bdc@google.com> |
Restore end of dex2oat logging Change-Id: I808cc60e8bb84609f42c0262b10fa0f1b4962763
ex2oat.cc
|
b39d4b11421d7107be29dd17b39241571d822c21 |
30-Jan-2014 |
Stuart Monteith <Stuart.Monteith@arm.com> |
Enable debug build of dex2oatd on host ART_BUILD_DEBUG is being ignored by the host build of dex2oatd. This commit simple fixes what looks like a copy & paste error. Change-Id: Ifb256df2c1f2be42032d1687e1740470f7cf5144 Signed-off-by: Stuart Monteith <Stuart.Monteith@arm.com>
ndroid.mk
|
c7f832061fea59fd6abd125f26c8ca1faec695a5 |
24-Jan-2014 |
Vladimir Marko <vmarko@google.com> |
Refactor verification results. Rename VerificationMethodsData to VerificationResults. Create new class VerifiedMethod to hold all the data for a given method. Change-Id: Ife1ac67cede20f3a2f9c7f5345f08a851cf1ed20
ex2oat.cc
|
650be76eb3c38ff905ec1d9675d73e5cb9a82dac |
20-Jan-2014 |
Brian Carlstrom <bdc@google.com> |
Revert "Implement cumulative timings for CompilerDriver." This reverts commit df013175d1aa04641e5c6175f8c786e547d31654.
ex2oat.cc
|
df013175d1aa04641e5c6175f8c786e547d31654 |
13-Jan-2014 |
Nicolas Geoffray <ngeoffray@google.com> |
Implement cumulative timings for CompilerDriver. Change-Id: I3b04de7f2717273f356b8120f68d69e2379bab2f
ex2oat.cc
|
740a11d0bfeaef36d910669844d01f3957dbe696 |
14-Jan-2014 |
Ian Rogers <irogers@google.com> |
Add systrace regions for file opening during setup. When the non-parallel dex2oat setup is slow this will help to explain the major culprit. Change-Id: I20143a8c7fafb3f7b834902d95dd85dbfe358746
ex2oat.cc
|
5816ed48bc339c983b40dc493e96b97821ce7966 |
27-Nov-2013 |
Vladimir Marko <vmarko@google.com> |
Detect special methods at the end of verification. This moves special method handling to method inliner and prepares for eventual inlining of these methods. Change-Id: I51c51b940fb7bc714e33135cd61be69467861352
ex2oat.cc
|
2b5eaa2b49f7489bafdadc4b4463ae27e4261817 |
13-Dec-2013 |
Vladimir Marko <vmarko@google.com> |
Move compiler code out of method verifier. We want to detect small methods for inlining at the end of the method verification. Instead of adding more compiler code to the runtime, we create a callback from the runtime into the compiler, so that we can keep the code there. Additionally, we move the compiler-related code that was already in the method verifier to the compiler since it doesn't really belong to the runtime in the first place. Change-Id: I708ca13227c809e07917ff3879a89722017e83a9
ex2oat.cc
|
92572be7f754c213e615a62955cc5f65ca8c0c0e |
28-Nov-2013 |
Narayan Kamath <narayan@google.com> |
Use libziparchive for art zip processing. This is part of the effort to move all VM & framework zip parsing to a common implementation. This also has the side effect of fixing various TODOs related to crc32 checking. bug: 10193060 Change-Id: I407f9ad5a94fc91d96ff43556adde00a00df1f14
ex2oat.cc
|
ca368cb576cf6a436a32c357fca51fbb3082d7a9 |
16-Nov-2013 |
Ian Rogers <irogers@google.com> |
Break apart oat writing times. Change-Id: I11045e29dc58ed1efbd19070ec1dcafc1044c95a
ex2oat.cc
|
5fe9af720048673e62ee29597a30bb9e54c903c5 |
14-Nov-2013 |
Ian Rogers <irogers@google.com> |
Fix memory leaks relating to timing logger. Bug: 11670287. We use pointers to uninitialized values for control-flow in the timing logger code, add TODO comments to clean this up later. Remove base namespace and other bits of tidying. Change-Id: I1e6600a1e92f974c8f58f3a405a4e4abb4d9f80f
ex2oat.cc
|
d5aba599561d8d14bb8c19fd633bfcd05af3c264 |
12-Nov-2013 |
Brian Carlstrom <bdc@google.com> |
Fix CTS failures caused by ignoring malformed dex files in dex2oat Bug: 11621003 Bug: 11599365 Change-Id: If1f62dff59346edcd60e4c4b5df58137609f7f19
ex2oat.cc
|
3cf59d567072562e120b9524f47ad2bd373f8333 |
11-Nov-2013 |
Brian Carlstrom <bdc@google.com> |
Revert "resolved conflicts for merge of ad93c622 to master" This reverts commit 4f6a77d529ae295630e22d4636c2acc2ba2fbb6d, reversing changes made to bcdbbfebc8f32566d4cb3f66405e89cdb7351992.
ex2oat.cc
|
4f6a77d529ae295630e22d4636c2acc2ba2fbb6d |
09-Nov-2013 |
Brian Carlstrom <bdc@google.com> |
resolved conflicts for merge of ad93c622 to master Change-Id: I81dc207aa90a96cc46c8a929d745e9aefb0ad802
|
eb4d2ae2efdd186a01f3c91a3f6d44cc07e116ef |
09-Nov-2013 |
Brian Carlstrom <bdc@google.com> |
Ignore missing files in dex2oat Bug: 11599365 Change-Id: I43f7437d2574c3776f921472f38b5a03a87c2822
ex2oat.cc
|
1bd2ceb3a8c68ae6ea1f9627b588a7bc7a74487f |
06-Nov-2013 |
Brian Carlstrom <bdc@google.com> |
Make missing DEX2OAT_TARGET_INSTRUCTION_SET_FEATURES an error Change-Id: I3ca23e4db80c8ab8a86da6408cf38daccd4cfaf1
ex2oat.cc
|
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
ex2oat.cc
|
635733da0f67df1c979cc9764409d2a9dcbb20aa |
31-Oct-2013 |
Brian Carlstrom <bdc@google.com> |
Fix --compiler-backend usage example Change-Id: I2ebefe57e94d6a8103c71e86f7c6a302b7107fc4
ex2oat.cc
|
88474b416eb257078e590bf9bc7957cee604a186 |
24-Oct-2013 |
Jeff Hao <jeffhao@google.com> |
Implement Interface Method Tables (IMT). Change-Id: Idf7fe85e1293453a8ad862ff2380dcd5db4e3a39
ex2oat.cc
|
8d31bbd3d6536de12bc20e3d29cfe03fe848f9da |
13-Oct-2013 |
Ian Rogers <irogers@google.com> |
Throw IOException at source of failing to open a dex file. Before is: java.lang.ClassNotFoundException: Didn't find class "GCBench" on path: DexPathList[[zip file "/disk2/dalvik-dev/out/host/linux-x86/framework/GCBench.jar"],nativeLibraryDirectories=[/disk2/dalvik-dev/out/host/linux-x86/lib]] at dalvik.system.BaseDexClassLoader.findClass(BaseDexClassLoader.java:56) at java.lang.ClassLoader.loadClass(ClassLoader.java:511) at java.lang.ClassLoader.loadClass(ClassLoader.java:469) Suppressed: java.lang.ClassNotFoundException: GCBench at java.lang.Class.classForName(Native Method) at java.lang.BootClassLoader.findClass(ClassLoader.java:781) at java.lang.BootClassLoader.loadClass(ClassLoader.java:841) at java.lang.ClassLoader.loadClass(ClassLoader.java:504) ... 1 more Caused by: java.lang.NoClassDefFoundError: Class "LGCBench;" not found ... 5 more And after is: java.lang.ClassNotFoundException: Didn't find class "GCBench" on path: DexPathList[[zip file "/disk2/dalvik-dev/out/host/linux-x86/framework/GCBench.jar"],nativeLibraryDirectories=[/disk2/dalvik-dev/out/host/linux-x86/lib]] at dalvik.system.BaseDexClassLoader.findClass(BaseDexClassLoader.java:56) at java.lang.ClassLoader.loadClass(ClassLoader.java:511) at java.lang.ClassLoader.loadClass(ClassLoader.java:469) Suppressed: java.io.IOException: Zip archive '/disk2/dalvik-dev/out/host/linux-x86/framework/GCBench.jar' doesn't contain classes.dex at dalvik.system.DexFile.openDexFile(Native Method) at dalvik.system.DexFile.<init>(DexFile.java:80) at dalvik.system.DexFile.<init>(DexFile.java:59) at dalvik.system.DexPathList.loadDexFile(DexPathList.java:268) at dalvik.system.DexPathList.makeDexElements(DexPathList.java:235) at dalvik.system.DexPathList.<init>(DexPathList.java:113) at dalvik.system.BaseDexClassLoader.<init>(BaseDexClassLoader.java:48) at dalvik.system.PathClassLoader.<init>(PathClassLoader.java:38) at java.lang.ClassLoader.createSystemClassLoader(ClassLoader.java:128) at java.lang.ClassLoader.access$000(ClassLoader.java:65) at java.lang.ClassLoader$SystemClassLoader.<clinit>(ClassLoader.java:81) at java.lang.ClassLoader.getSystemClassLoader(ClassLoader.java:137) Suppressed: java.lang.ClassNotFoundException: GCBench at java.lang.Class.classForName(Native Method) at java.lang.BootClassLoader.findClass(ClassLoader.java:781) at java.lang.BootClassLoader.loadClass(ClassLoader.java:841) at java.lang.ClassLoader.loadClass(ClassLoader.java:504) ... 1 more Caused by: java.lang.NoClassDefFoundError: Class "LGCBench;" not found ... 5 more Also, move dex file verifier messages out of logs. In the process the ClassLinker::dex_lock_ needed tidying to cover a smaller scope. Bug 11301553. Change-Id: I80058652e11e7ea63457cc01a0cb48afe1c15543
ex2oat.cc
|
e732ef1c0192acd71925bd0ff1ab09640d45531d |
10-Oct-2013 |
Ian Rogers <irogers@google.com> |
Make compiler stat dumping easier to use. Previous needed -verbose:compiler + a debug build. Now specify --dump-stats to dex2oat. Change-Id: Ifde379e7cd06bbb0fe20149ce89c3b3789221eac
ex2oat.cc
|
51db7beb7faaea43d697321520732d1d71288f50 |
06-Sep-2013 |
Ian Rogers <irogers@google.com> |
Use exit to avoid destructors in dex2oat. (cherry picked from commit 2672a9f93caa66add6ca48a8e38ba1661ef43959) Bug: 10645725 Change-Id: I55c2a7b7f3bd105f1a6a8bf84db2204c6f87e642
ex2oat.cc
|
2672a9f93caa66add6ca48a8e38ba1661ef43959 |
06-Sep-2013 |
Ian Rogers <irogers@google.com> |
Use exit to avoid destructors in dex2oat. Change-Id: I5f8b396dfa614af2935053c219b09b406a632618
ex2oat.cc
|
d76e08323893c60df77eccca6e882279e7246d8c |
30-Aug-2013 |
Brian Carlstrom <bdc@google.com> |
Make files writable on the installd path as well Bug: 9618388 Change-Id: Iabfdfe2bbc44de1fec733269c08a243af75c7dcd
ex2oat.cc
|
e0948e13d5a4552e6a2728087573c07961e4a4f9 |
29-Aug-2013 |
Brian Carlstrom <bdc@google.com> |
Make DexFiles opened from files readonly by default, but writable during dex2oat Bug: 9618388 Change-Id: I83f2e16ee8446a79a94a84971146d807bb0c9ee0
ex2oat.cc
|
f30f6daf33a9671ff756befb673482d7f3717a18 |
29-Aug-2013 |
Ian Rogers <irogers@google.com> |
Set small ART override for image as an option. Build fix for small art, avoids changing the compiler filter post runtime initialization. Change-Id: I359b5231adaa0331321dc6239305cf748d174a17
ex2oat.cc
|
3f3d22c8fc89d754172858d1770f16916b407d8b |
28-Aug-2013 |
Ian Rogers <irogers@google.com> |
Reduce the scope of a ScopedObjectAccess in dex2oat. Allow concurrent GCs during image writing, etc. Change-Id: I89b70a6dfb17f58b156e164c91457337f1c2648f
ex2oat.cc
|
c6dfdacea2fd9e268f70328805b0366cdd6b7b9e |
27-Aug-2013 |
Brian Carlstrom <bdc@google.com> |
Add buffering to ELF file generation Bug: 10496017 Change-Id: I3cbad249e0fb33f726bd0a504b3b6bd9b4f759c8
ex2oat.cc
|
fe9ca4028f379688ecba6132ac3738171176b3e4 |
21-Aug-2013 |
buzbee <buzbee@google.com> |
Compiler filter update Tweak of the compiler filter to give better results for applications which are not dominated by tight arithmetic loops. Deleted the "DeferCompilation" setting - it didn't differ enough from the "Space" setting. Added "Everything" setting to support forced compilation (for images and testing). Previously used "Speed" for that purpose, but in the speed setting there are some things we don't want to compile. Change-Id: Ia53b14f2044fc9738c1a4c1318f8204f2c25abe3
ex2oat.cc
|
46398608eaa47afe5a4cfb91e3f43211bf937d68 |
20-Aug-2013 |
Ian Rogers <irogers@google.com> |
dex2oat flag to always dump timing data. Change-Id: I67fd10aff5cc5822ad119cd8b5a26c23e7a85cac
ex2oat.cc
|
e6bb3b2ce5a69c31c2adfc7eb2705633b7f966eb |
20-Aug-2013 |
Ian Rogers <irogers@google.com> |
Reduce AOT initialization. When compiling apps there is no need to resolve all types in the dex file, just those declared in the dex file. There's also no need to initialize static fields if we can only leave the class in a verified state. Increase use of CompilerDriver::IsImage. Move timing of dex2oat setup to before Runtime::Create. On run-test 056 the performance improvement is an order of magnitude, for ThinkFree dex2oat time is dominated by compilation and this change has no effect. Bug 10316099. Change-Id: Ibdd7caa43284e7448e6a56d810967100ae4a7898
ex2oat.cc
|
7571e8b761ebc2c923525e12ea9fcf07e62cb33e |
13-Aug-2013 |
Brian Carlstrom <bdc@google.com> |
Add flock(2)ing on dex-cache files to prevent races Bug: 9071417 Change-Id: I1ee9ff281867f90fba7a8ed8bbf06b33ac29d511
ex2oat.cc
|
0f40ac31134d9ae0f059d4c448165599dc8459c1 |
14-Aug-2013 |
Ian Rogers <irogers@google.com> |
Fix races in small mode compiler filters setup Fixes host tests in small art mode. Change-Id: I2579f872583f425607f91c1e58df68b05b5098bb
ex2oat.cc
|
1d1e267136732c2b123470b05c06fa536fa6dbbb |
14-Aug-2013 |
Ian Rogers <irogers@google.com> |
Merge "Refactor java.lang.reflect implementation" into dalvik-dev
|
75a43f10f55e2aa550de51e969cc1e60d583b632 |
14-Aug-2013 |
Anwar Ghuloum <anwarg@google.com> |
Clean up logcat spam from compiler and verifier Moved to VLOG(...), adding verifer tag for VLOG. Change-Id: Ia9ac8aeaf5aa1f4881e384003e82a66e560c5692
ex2oat.cc
|
ea46f950e7a51585db293cd7f047de190a482414 |
30-Jul-2013 |
Brian Carlstrom <bdc@google.com> |
Refactor java.lang.reflect implementation Cherry-picked from commit ed41d5c44299ec5d44b8514f6e17f802f48094d1. Move to ArtMethod/Field instead of AbstractMethod/Field and have java.lang.reflect APIs delegate to ArtMethod/ArtField. Bug: 10014286. Change-Id: Iafc1d8c5b62562c9af8fb9fd8c5e1d61270536e7
ex2oat.cc
|
7b67bee4f6ca4e634f35f63d1e08e1b05f138e01 |
13-Aug-2013 |
Hiroshi Yamauchi <yamauchi@google.com> |
Merge "Add a systrace support for lock contention logging." into dalvik-dev
|
b3733086ab415088b97fac20b3eea24433a7d2c5 |
13-Aug-2013 |
Hiroshi Yamauchi <yamauchi@google.com> |
Add a systrace support for lock contention logging. - Now several ART executables like oatdump need to link with libcutils as the mutex code is shared among them. - The blocking thread ID and lock owner thread ID are passed to ScopedContentionRecorder in the correct order. Bug: 9986464 Change-Id: Id766de23fbc4af1d8ba2de051595e365b04f5ae7
ndroid.mk
|
155ecba1c9b56ce1b468135e6a591a3fe9258c52 |
13-Aug-2013 |
buzbee <buzbee@google.com> |
Fix SMALL_ART On all art builds, the images classes must be compiled. When doing a small art build, it is necessary to override the default compiler filter to force compilation. A merge mistake broke this logic for dalvik-dev. Change-Id: I88186bd89d0ccb4316ee0910e9324ddc3e6a1f75
ex2oat.cc
|
a024a0686c3b0fea13f362bff70d65981e5febc5 |
31-Jul-2013 |
buzbee <buzbee@google.com> |
Compilation filter This CL introduces a static compilation filter mechanism intended to allow us to reduce compilation time and space requirements until we have a profiling mechanism in place. It supports 5 modes of filtering: o interpret-only (compile nothing) o deferred-compilation (compile only those methods believe to be compute-intensive) o space (optimized for space) o balanced (best return on space investment) o speed (compile everything) A future CL will allow the default filtering mode to be set via system property. For now, you can pass it in via command line as follows: dalvikvm -compiler-filter:[interpret-only|defer-compilation| space|balanced|speed] or dex2oat --runtime-arg -compiler-filter:[one of the above modes] Creating a file named art/SMALL_ART will force the filter default to interpret-only. Later on we'll move this capability to a persistent system property. or modify kDefaultCompilerFilter in runtime.h It also changes the compiler driver to allow the compilers to decline to compile a method by return NULL. Change-Id: Ic73411818f8bb845a4a19a05b0395c50902c534f
ex2oat.cc
|
0f055d11096cb02563e9c040cd03c791fd8f69a3 |
26-Jul-2013 |
Brian Carlstrom <bdc@google.com> |
resolved conflicts for merge of 7934ac28 to dalvik-dev Change-Id: I8798a6f154463d3f92f6aca62f14130aec82d273
|
7934ac288acfb2552bb0b06ec1f61e5820d924a4 |
26-Jul-2013 |
Brian Carlstrom <bdc@google.com> |
Fix cpplint whitespace/comments issues Change-Id: Iae286862c85fb8fd8901eae1204cd6d271d69496
ex2oat.cc
|
6f28d91aab952e3244fbb4e707fa38f85538f374 |
25-Jul-2013 |
Anwar Ghuloum <anwarg@google.com> |
Add systrace support to NewTimingLogger, migrate compiler timing logging to NewTimingLogger Rpleaced old TimingLogger by NewTimingLogger, renamed NewTimingLogger to TimingLogger, added systrace support to TimingLogger. Tests passing, phone booting, systrace working. Change-Id: I2aeffb8bcb7f0fd979d8a2a3a8bcfbaa02413679
ex2oat.cc
|
b9a0324ab64cd25730f10151b064879af8915587 |
24-Jul-2013 |
Brian Carlstrom <bdc@google.com> |
Merge "Remove OatWriter buffering to memory for ElfWriterQuick" into dalvik-dev
|
c50d8e11a098cc5c6239aa86b47d4fcf8cbb4899 |
24-Jul-2013 |
Brian Carlstrom <bdc@google.com> |
Remove OatWriter buffering to memory for ElfWriterQuick This allows the oat contents to be directly written to the file. Change-Id: Ibc7ddf57477b152f07784b52f7334be73fd22833
ex2oat.cc
|
8a7bc17da633d3577eda040ac490cbd8351dc6b9 |
23-Jul-2013 |
Brian Carlstrom <bdc@google.com> |
am 55c0ac85: Merge "Enable darwin target build for art." * commit '55c0ac8528fb07c9f0900013b828ee8c60120860': Enable darwin target build for art.
|
19e776ceb178397661b0323a9a982f6db249a56d |
23-Jul-2013 |
Brian Carlstrom <bdc@google.com> |
Enable darwin target build for art. Change-Id: I8fc04258360d663d2fcd07c307fdfdd2981cdd19
ndroid.mk
|
7fcba11846d3320911aefdba6a20c1192e36fc2e |
22-Jul-2013 |
Brian Carlstrom <bdc@google.com> |
Restore conditional oat file copying used by build system. Change-Id: I40343e59902e894f7343e9d8bbf30f7b5602d786
ex2oat.cc
|
4560248d4c85cade7f4fc7b30c3fb41b95a04a7f |
22-Jul-2013 |
Brian Carlstrom <bdc@google.com> |
Move TimingLogger creation to dex2oat Change-Id: I4fdb6afd4ce2ac0d91c6c968893606d593b6ea18
ex2oat.cc
|
0177fe200efc1bf4d433955ee7920c683fdf5901 |
21-Jul-2013 |
Brian Carlstrom <bdc@google.com> |
Remove CompilerDriver::IsDebuggingSupported Change-Id: Ib67e3ef67462fe5dae81148f7fe8cc76b3887f11
ex2oat.cc
|
0cd7ec2dcd8d7ba30bf3ca420b40dac52849876c |
18-Jul-2013 |
Brian Carlstrom <bdc@google.com> |
Fix cpplint whitespace/blank_line issues Change-Id: Ice937e95e23dd622c17054551d4ae4cebd0ef8a2
ex2oat.cc
|
93ba893c20532990a430741e0a97212900094e8c |
18-Jul-2013 |
Brian Carlstrom <bdc@google.com> |
Fix cpplint runtime/explicit issues Change-Id: I352ba0b427f1ff9b22887693952b180eae0839ba
ex2oat.cc
|
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
ndroid.mk
ex2oat.cc
|