944da603cde59a4277f3bbc31d860a90842a1a2a |
|
19-Feb-2016 |
Vladimir Marko <vmarko@google.com> |
ART: Allow method references across oat files for multi-image, 2nd attempt. These were disabled because we didn't have sufficient information about the multi-image layout when processing link-time patches in OatWriter. This CL refactors the ELF file creation so that the information is available. Also clean up ImageWriter to use oat file indexes instead of filenames and avoid reopening the oat file to retrieve the checksum. Change-Id: Icc7b528deca29da1e473c8f079521a36d6c4892f
|
45724f9a0cc38dbb3071beb3eeab96499868b49c |
|
17-Feb-2016 |
Vladimir Marko <vmarko@google.com> |
Revert "Allow method references across oat files for multi-image." Breaks Quick tests. This reverts commit 6065402316da2b51eed5fc34cffbd991766bd408. Change-Id: I8a5469ba7cea5f46b85cb489b3e0ef06ed548f03
|
6065402316da2b51eed5fc34cffbd991766bd408 |
|
16-Feb-2016 |
Vladimir Marko <vmarko@google.com> |
Allow method references across oat files for multi-image. These were disabled because we didn't have sufficient information about the multi-image layout when processing link-time patches in OatWriter. This CL refactors the ELF file creation so that the information is available. Change-Id: I6f2e8dc8572d143c72cc2693bb0ba4fd76f889ab
|
c5bfa97c47d656b76f297af8abcd5f7502987399 |
|
05-Feb-2016 |
David Srbecky <dsrbecky@google.com> |
Split elf_writer_debug.cc to several files. Refactoring only. The file has grown significantly over time, and it is time to split it so it can be better managed. Change-Id: Idce0231718add722292f4701df353d5baf31de5f
|
0c4572e8c874de279463af22268d588471f40d3e |
|
22-Jan-2016 |
David Srbecky <dsrbecky@google.com> |
Generate mini-debug-info on separate thread. The generation and compression of mini-debug-info is a lot of work. However, we can do it on background thread when the main thread is busy with .rodata and .text related I/O. Change-Id: I514f1db3cb50aa250639f3ef697faa9bc9976d12
|
131980fc9aeb2b4d03480443e0fb494c76ce03a2 |
|
03-Dec-2015 |
Vladimir Marko <vmarko@google.com> |
Add ElfWriter::GetStream(). This will be used for writing the OatHeader which is currently oddly written through the .text stream. Also move the error delaying output stream out of the ElfBuilder<> to its own file and move all output stream files to compiler/linker/. Change-Id: I00db4e33ed80ac4757ec459946c7b5ae014a3a2e
|
10c13565474de2786aad7c2e79757ea250747a15 |
|
25-Nov-2015 |
Vladimir Marko <vmarko@google.com> |
Refactor oat file writing to give Dex2Oat more control. This is the first step towards writing dex files to oat file and mapping them from there for the actual AOT compilation. Change-Id: Icb0d27487eaf6ba3a66c157e695f9bdc5bb9cf9a
|
90443477f9a0061581c420775ce3b7eeae7468bc |
|
17-Jul-2015 |
Mathieu Chartier <mathieuc@google.com> |
Move to newer clang annotations Also enable -Wthread-safety-negative. Changes: Switch to capabilities and negative capabilities. Future work: Use capabilities to implement uninterruptible annotations to work with AssertNoThreadSuspension. Bug: 20072211 Change-Id: I42fcbe0300d98a831c89d1eff3ecd5a7e99ebf33
|
a36098b3717e14baf6a173e72082f6ef3b7bcefd |
|
13-May-2015 |
Vladimir Marko <vmarko@google.com> |
ART: Do not relocate app program headers in patchoat. Change the check whether to relocate program headers in patchoat to simply look whether there is a PT_LOAD section with p_vaddr == 0. If there is, don't relocate the headers, it should be an app. Otherwise, it's a boot image and needs to be relocated. Add overflow checking to ElfFileImpl<>::GetLoadedSize(). Bug: 21047854 (cherry picked from commit 3fc9903407c6e89ffbbc92ded9e272d9de58e9b6) Change-Id: Ib3e1295fc06993bcfbaadd8f253ee4f5498f52e9
|
3fc9903407c6e89ffbbc92ded9e272d9de58e9b6 |
|
13-May-2015 |
Vladimir Marko <vmarko@google.com> |
ART: Do not relocate app program headers in patchoat. Change the check whether to relocate program headers in patchoat to simply look whether there is a PT_LOAD section with p_vaddr == 0. If there is, don't relocate the headers, it should be an app. Otherwise, it's a boot image and needs to be relocated. Add overflow checking to ElfFileImpl<>::GetLoadedSize(). Bug: 21047854 Change-Id: Ie6737f338687296b6dbf4bb3b36358501dfb1587
|
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
|
719d1a33f6569864f529e5a3fff59e7bca97aad0 |
|
06-Mar-2014 |
Ian Rogers <irogers@google.com> |
Enable annotalysis on clang ART builds. Fix clang build errors aswell as restructure locking/mutex code for correct thread safety analysis support. Reorder make dependencies so that host builds build first as they should provide better compilation errors than target. Remove host's use of -fno-omit-frame-pointer as it has no value with correct use of CFI, which we should have. Change-Id: I72cea8da9a3757b1a0b3acb4081feccb7c6cef90
|
3d504075f7c1204d581923460754bf6d3714b13f |
|
01-Mar-2014 |
Ian Rogers <irogers@google.com> |
Make out arguments non-reference types. Also, tidy some portable related code. Change-Id: I67c8aa52eef8b556ca117ecda1b1e75465ba06a5
|
50cfe74daaece80853cb3b45d4338329b7d0345b |
|
19-Feb-2014 |
Nicolas Geoffray <ngeoffray@google.com> |
Remove dependency on llvm/Support/ELF.h by using linux's elf.h. Change-Id: Iefe66af9958641ac7f08fdc22f438d976e5b4d54
|
d9de8391b94a7446c6505920fa52eb58f19d7968 |
|
23-Jan-2014 |
Vladimir Marko <vmarko@google.com> |
Fix header file references to the ::llvm::ELF namespace. We have header files which define the namespace ::art::llvm and if they are included before the header files fixed here, references to llvm::ELF from ::art pick up ::art::llvm instead of ::llvm and fail to find ELF, causing an error. Therefore we add the leading "::". Change-Id: Ib02c9317d39cde5331dd67463013643cbc79ee1f
|
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
|
fb6996fe2b1bb28526751650441d7ac29dcdb4e6 |
|
19-Jul-2013 |
Brian Carlstrom <bdc@google.com> |
Fixing cpplint runtime/arrays, runtime/int, runtime/virtual issues Change-Id: Ia2ff94d2fb69465df26aaf83df82614a483b26e0
|
fc0e3219edc9a5bf81b166e82fd5db2796eb6a0d |
|
17-Jul-2013 |
Brian Carlstrom <bdc@google.com> |
Fix multiple inclusion guards to match new pathnames Change-Id: Id7735be1d75bc315733b1773fba45c1deb8ace43
|
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
|