e5cb1102b4da7ae72951baf375a541e0c5cf481f |
|
08-May-2017 |
Alex Light <allight@google.com> |
Lower flock LOG(FATAL) to LOG(WARNING) Failing to unlock a file should not be a fatal error. The lock will usually be cleared right after this anyway by the file being closed. Even if it isn't though this should not cause deadlocks since most places either don't retry if they don't get the lock the first time or are separate binaries (such as dex2oat) that are run with external timeouts. Bug: 36369345 Test: ./test.py --host -j40 Change-Id: Icd783c038de3c263805e8de1bbc35b2ee8918340 (cherry picked from commit 9c48ee5bac5ef0d0af9c1ab079452c954affa019)
|
ceaf1093457d19f3369d290ca0a23d0543fc0a36 |
|
28-Apr-2017 |
Calin Juravle <calin@google.com> |
Do not fsync profiles on close There's no need to fsync profile data right away. We get many chances to write it again in case something goes wrong. We can rely on a simple close(), no sync, and let the kernel decide when to write to disk. This should improve the I/O behavior of saving profiles. Bug: 36817443 Test: m test-art-host-gtest (cherry picked from commit df674c45091d01f504bf1bb7d241678ecd449ae0) Change-Id: Idf503beccf912e26f31abbcf66087afb9a8fe138
|
f7ada95d3a1f1408bdf4851f65e0f99d52f92b46 |
|
22-Mar-2017 |
Calin Juravle <calin@google.com> |
Log the errno code for failed flock() invocations ScopedFlock was asserting the success of flock() invocation without logging errno. This CL adds the errno log before the abort. Test: m Bug: 36369345 Change-Id: I24209784b795c37463fb790fcd0793369eeab492
|
46ee31b67d7ee1bd085fbc240502053caa3cf8fa |
|
14-Dec-2016 |
Andreas Gampe <agampe@google.com> |
ART: Move to libbase StringPrintf Remove ART's StringPrintf implementation. Fix up clients. Add missing includes where necessary. Test: m test-art-host Change-Id: I564038d5868595ac3bb88d641af1000cea940e5a
|
024160850fbbf28368eae951beb4c72e2ce8fce6 |
|
23-Feb-2016 |
Calin Juravle <calin@google.com> |
Revert "Revert "Add profman tool: responsible to process profiles"" This reverts commit 3da74687e42de7d33a8e75df9bd64374e650f75e. (cherry picked from commit 2e2db786b8fbaa4dceb37603a4296b0b2aea4e9e) Change-Id: I38086cc9de939bad33bcd13b1677e1626af61c29
|
2e2db786b8fbaa4dceb37603a4296b0b2aea4e9e |
|
23-Feb-2016 |
Calin Juravle <calin@google.com> |
Revert "Revert "Add profman tool: responsible to process profiles"" This reverts commit 3da74687e42de7d33a8e75df9bd64374e650f75e. Change-Id: Id005096bd8063c6c602744d4476d5eb7e0d34e90
|
3da74687e42de7d33a8e75df9bd64374e650f75e |
|
22-Feb-2016 |
Nicolas Geoffray <ngeoffray@google.com> |
Revert "Add profman tool: responsible to process profiles" Needs a profile_assistant_test fix. Bug: 26719109 Bug: 26563023 This reverts commit 6caefd983a800a063b219f1d3ed71b1416cecd70. Change-Id: Ibdeb7385737dd7846ed861e0a95f083abb9aa974
|
6caefd983a800a063b219f1d3ed71b1416cecd70 |
|
01-Feb-2016 |
Calin Juravle <calin@google.com> |
Add profman tool: responsible to process profiles This pulls out profile parsing from dex2oat into a separate tool. Some additional refactoring: - better return codes - dex2oat now accepts only one profile file This is the first step towards support secondary dex files and extracting profiles out of the code_cache directory. Bug: 26719109 Bug: 26563023 (cherry picked from commit d81c289e58f4ced8ec7674fd377c356669f97227) Change-Id: I34d408faa318e866e1a23d4d04c369131ee5012b
|
d81c289e58f4ced8ec7674fd377c356669f97227 |
|
01-Feb-2016 |
Calin Juravle <calin@google.com> |
Add profman tool: responsible to process profiles This pulls out profile parsing from dex2oat into a separate tool. Some additional refactoring: - better return codes - dex2oat now accepts only one profile file This is the first step towards support secondary dex files and extracting profiles out of the code_cache directory. Bug: 26719109 Bug: 26563023 Change-Id: I364dad7e3beb22ef71c372739d5bcc490ae23270
|
877fd963548a3175665bfef25b0d24bc0e5a0135 |
|
05-Jan-2016 |
Calin Juravle <calin@google.com> |
Improve profile processing - allow file descriptors in addition to file names for profiles - fix some minor issues (wrong comparison signs, unhandled errors) - added gtests for profile_compilation_info, profile_assistant and compiler_driver Bug: 26080105 Change-Id: I136039fa1f25858399000049e48b01eafae54eb1
|
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
|
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
|
9433ec60b325b708b9fa87e699ab4a6565741494 |
|
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. Change-Id: I9ab03b1653e69f44cc98946dc89d764c3e045dd4
|
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
|
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
|
d1c606f280797be81e2592c483869a6ec836a9f3 |
|
09-Jun-2014 |
Narayan Kamath <narayan@google.com> |
Add locking around boot image generation. If zygote aborts due to an error, it will restart and spawn another dex2oat process while the old one is still running. If this happens fast enough, the system will eventually need a kernel reboot since neither the zygote nor dex2oat are killable. This brings boot image generation in line with dex2oat generation, which uses a similar pattern of advisory locking. bug: 15415316 Change-Id: Iaccd274d3d96ab002b04e246ec4b3ef9a422ff7c
|