507e6180ad271eb719c67ce7394852c731d975a5 |
|
19-Aug-2014 |
Alex Light <allight@google.com> |
Support running without a boot image. Bug: 17000769 (cherry picked from commit 64ad14dbe2225441fb7734bf6d89358d96692eea) Change-Id: I6404d5050c8a2f4ee6e70d58532eb25ee9de248e
|
4c5a469683e433f126c9863cd393747d2e7c4a29 |
|
22-Aug-2014 |
Mathieu Chartier <mathieuc@google.com> |
Add fallback for non moving space being full. When the non moving space becomes full, we disable moving GC and make the main space the new non moving space. Also added a runtime option for changing the non moving space size: -XX:NonMovingSpaceCapacity. Bug: 17189964 Change-Id: I04d00d0f457f6c1f5724bf32932b6b6ce4d341b1
|
ccdd4a5be1db2588767ed230b7064e5fe802ce8d |
|
22-Aug-2014 |
Calin Juravle <calin@google.com> |
Always setup the native bridge library ... even if the string is empty. This will initialize the native bridge library but mark it as unavailable. - also, rename native_bridge_library_path to native_bridge_library_filename to be closer to the actual meaning (it's just the filename without any path). Bug: 16404669. Change-Id: I94628639691459d48d1fbf0841f36b68d51818e7
|
9c290012b7f505ae1943ab87236f775b97a46e2d |
|
22-Jul-2014 |
Nicolas Geoffray <ngeoffray@google.com> |
Execute an application even when dex2oat crashes. Bug: 17000769 (cherry picked from commit 4fcdc94d22a4608e355aa8df36240181149d10e8) Change-Id: Iccb1fec94fe64ce4c3097510952f275482b86aa9
|
93de4273d72a2558a7b3423547b5074cd76c5796 |
|
12-Aug-2014 |
Calin Juravle <calin@google.com> |
[ART] Move to system/core native bridge library Some cleanups on the way: - move NativeBridgeRuntimeCallbacks from a global to a field - rename native_bridge_library_string to the more suggestive navtive_bridge_library_path - clean up imports Bug: 16884833 (cherry picked from commit I73aab8e212860ba5aee9444d801806d3da326a41) Change-Id: I67f037ea81d2a4ede4294afd8b84b7640e534a13
|
345c4b19758703793ed31024cfb79940e2c63b75 |
|
18-Jul-2014 |
Alex Light <allight@google.com> |
Make system use patchoat to relocate during runtime. Change dalvik_system_DexFile.cc so that isDexOptNeededInternal will be able to indicate that a patchoat is required. Change default of relocate option to be on. Bug: 15358152 (cherry picked from commit 6e183f2e973a20f2eaca135c240908e1bf98c5d0) Change-Id: Ib21f4f41b6cbf18094e3ca1a30d65a3b197b71b0
|
6e183f2e973a20f2eaca135c240908e1bf98c5d0 |
|
18-Jul-2014 |
Alex Light <allight@google.com> |
Make system use patchoat to relocate during runtime. Change dalvik_system_DexFile.cc so that isDexOptNeededInternal will be able to indicate that a patchoat is required. Change default of relocate option to be on. Bug: 15358152 Change-Id: Ibe92d8b55a24bbf718b0416a21b76e5df7a2de26
|
855564b83db7b106d2995d0e784f1f4b62e52371 |
|
25-Jul-2014 |
Andreas Gampe <agampe@google.com> |
ART: Native bridge command-line parameter Add a command-line parameter for the native bridge library, slight refactor/cleanup. Add run-test 115 to test the native bridge interface. Currently the tests are black-listed for the target, as the setup for the test is too complicated in the current infrastructure. Change-Id: I6ccf19485e8c30b96e9f2fd5425278cb1ebd403f
|
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
|
147eb41b53729ec8d5c188d1cac90964a51afb8a |
|
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 Conflicts: compiler/dex/quick/arm64/target_arm64.cc compiler/image_test.cc runtime/fault_handler.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
|
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
|
f37a88b8e6db6c587fa449a12e40cb46be1689fc |
|
10-Jul-2014 |
Zuo Wang <zuo.wang@intel.com> |
ART: Compacting ROS/DlMalloc spaces with semispace copy GC Current semispace copy GC is mainly associated with bump pointer spaces. Though it squeezes fragmentation most aggressively, an extra copy is required to re-establish the data in the ROS/DlMalloc space to allow CMS GCs to happen afterwards. As semispace copy GC is still stop-the-world, this not only introduces unnecessary overheads but also longer response time. Response time indicates the time duration between the start of transition request and the start of transition animation, which may impact the user experience. Using semispace copy GC to compact the data in a ROS space to another ROS(or DlMalloc space to another DlMalloc) space solves this problem. Although it squeezes less fragmentation, CMS GCs can run immediately after the compaction. We apply this algorithm in two cases: 1) Right before throwing an OOM if -XX:EnableHSpaceCompactForOOM is passed in as true. 2) When app is switched to background if the -XX:BackgroundGC option has value HSpaceCompact. For case 1), OOMs are significantly delayed in the harmony GC stress test, with compaction ratio up to 0.87. For case 2), compaction ratio around 0.5 is observed in both built-in SMS and browser. Similar results have been obtained on other apps as well. Change-Id: Iad9eabc6d046659fda3535ae20f21bc31f89ded3 Signed-off-by: Wang, Zuo <zuo.wang@intel.com> Signed-off-by: Chang, Yang <yang.chang@intel.com> Signed-off-by: Lei Li <lei.l.li@intel.com> Signed-off-by: Lin Zang <lin.zang@intel.com>
|
7fb36ded9cd5b1d254b63b3091f35c1e6471b90e |
|
10-Jul-2014 |
Dave Allison <dallison@google.com> |
Revert "Revert "Add implicit null and stack checks for x86"" Fixes x86_64 cross compile issue. Removes command line options and property to set implicit checks - this is hard coded now. This reverts commit 3d14eb620716e92c21c4d2c2d11a95be53319791. Change-Id: I5404473b5aaf1a9c68b7181f5952cb174d93a90d
|
0025a86411145eb7cd4971f9234fc21c7b4aced1 |
|
11-Jul-2014 |
Nicolas Geoffray <ngeoffray@google.com> |
Revert "Revert "Revert "Add implicit null and stack checks for x86""" Broke the build. This reverts commit 7fb36ded9cd5b1d254b63b3091f35c1e6471b90e. Change-Id: I9df0e7446ff0913a0e1276a558b2ccf6c8f4c949
|
576ca0cd692c0b6ae70e776de91015b8ff000a08 |
|
07-Jun-2014 |
Ian Rogers <irogers@google.com> |
Reduce header files including header files. Main focus is getting heap.h out of runtime.h. Change-Id: I8d13dce8512816db2820a27b24f5866cc871a04b
|
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
|
ffddfdf6fec0b9d98a692e27242eecb15af5ead2 |
|
03-Jun-2014 |
Tim Murray <timmurray@google.com> |
DO NOT MERGE Merge ART from AOSP to lmp-preview-dev. Change-Id: I0f578733a4b8756fd780d4a052ad69b746f687a9
|
12e6d7446384a7a5fbec25fe116bbb271c62842e |
|
22-May-2014 |
Tsu Chiang Chuang <tsu@google.com> |
Add option to specify compiler executable. Change-Id: I973da5e74be5a62461caacbc708288fb95e1b99b
|
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
|
2974bc3d8a5d161d449dd66826d668d87bdc3cbe |
|
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. Change-Id: I9bff2e2ca534e0b93842a50d5b272ddf6d5745f3
|
6f365cc033654a5a3b45eaa1379d4b5f156b0cee |
|
23-Apr-2014 |
Mathieu Chartier <mathieuc@google.com> |
Enable concurrent sweeping for non-concurrent GC. Refactored the GarbageCollector to let all of the phases be run by the collector's RunPhases virtual method. This lets the GC decide which phases should be concurrent and reduces how much baked in GC logic resides in GarbageCollector. Enabled concurrent sweeping in the semi space and non concurrent mark sweep GCs. Changed the semi-space collector to have a swap semi spaces boolean which can be changed with a setter. Fixed tests to pass with GSS collector, there was an error related to the large object space limit. Before (EvaluateAndApplyChanges): GSS paused GC time 7.81s/7.81s, score: 3920 After (EvaluateAndApplyChanges): GSS paused GC time 6.94s/7.71s, score: 3900 Benchmark score doesn't go up since the GC happens in the allocating thread. There is a slight reduction in pause times experienced by other threads (0.8s total). Added options for pre sweeping GC heap verification and pre sweeping rosalloc verification. Bug: 14226004 Bug: 14250892 Bug: 14386356 Change-Id: Ib557d0590c1ed82a639d0f0281ba67cf8cae938c
|
2f8da3e9ff60e5cb2a3fdf57dbcb67f513b9c2c2 |
|
16-Apr-2014 |
Mathieu Chartier <mathieuc@google.com> |
Decrease target utilization for foreground apps. GC time in FormulaEvaluationActions.EvaluateAndApplyChanges goes from 26.1s to 23.2s. Benchmark score goes down ~50 in FormulaEvaluationActions.EvaluateAndApplyChanges, and up ~50 in GenericCalcActions.MemAllocTest. Bug: 8788501 Change-Id: I412af1205f8b67e70a12237c990231ea62167bc0
|
1659006728b929aa820d09bdaba58b462cc8e7cc |
|
07-Apr-2014 |
Calin Juravle <calin@google.com> |
Profile: made startImmediately settable By default the profiler starts immediately upon app startup. To delay the startup by some random offset use -Xprofile-start_lazy. Bug: 12877748 Change-Id: Ifc1bb7f79f9f9aa53204b2fb1fbae3cd5c780cac
|
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
|
b373e091eac39b1a79c11f2dcbd610af01e9e8a9 |
|
21-Feb-2014 |
Dave Allison <dallison@google.com> |
Implicit null/suspend checks (oat version bump) This adds the ability to use SEGV signals to throw NullPointerException exceptions from Java code rather than having the compiler generate explicit comparisons and branches. It does this by using sigaction to trap SIGSEGV and when triggered makes sure it's in compiled code and if so, sets the return address to the entry point to throw the exception. It also uses this signal mechanism to determine whether to check for thread suspension. Instead of the compiler generating calls to a function to check for threads being suspended, the compiler will now load indirect via an address in the TLS area. To trigger a suspend, the contents of this address are changed from something valid to 0. A SIGSEGV will occur and the handler will check for a valid instruction pattern before invoking the thread suspension check code. If a user program taps SIGSEGV it will prevent our signal handler working. This will cause a failure in the runtime. There are two signal handlers at present. You can control them individually using the flags -implicit-checks: on the runtime command line. This takes a string parameter, a comma separated set of strings. Each can be one of: none switch off null null pointer checks suspend suspend checks all all checks So to switch only suspend checks on, pass: -implicit-checks:suspend There is also -explicit-checks to provide the reverse once we change the default. For dalvikvm, pass --runtime-arg -implicit-checks:foo,bar The default is -implicit-checks:none There is also a property 'dalvik.vm.implicit_checks' whose value is the same string as the command option. The default is 'none'. For example to switch on null checks using the option: setprop dalvik.vm.implicit_checks null It only works for ARM right now. Bumps OAT version number due to change to Thread offsets. Bug: 13121132 Change-Id: If743849138162f3c7c44a523247e413785677370
|
39d921865c207bd315daa372759e75b454cbcae1 |
|
06-Mar-2014 |
Andreas Gampe <agampe@google.com> |
Size and offset fixes to compile for 64b host Some Runtime fields have moved after deletion of other fields. ParsedOptions uses size_t, but parsing function works on unsigned int. Change-Id: I6b7f25787af5d3f9e38554abea2bfb220299f475
|
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
|
491ca9e75fad381468dd7f5fdbff56d1a9738dd7 |
|
03-Mar-2014 |
Brian Carlstrom <bdc@google.com> |
Add ART -help and -showversion Bug: https://code.google.com/p/android/issues/detail?id=62149 Change-Id: I5c21c0433f5f341f94e7d977e8d2d69cc46d6fe3
|