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
|
a1c9f013c034fbddb9337cc5c7ecf0e5a8b77547 |
|
02-Apr-2015 |
Hiroshi Yamauchi <yamauchi@google.com> |
getRuntimeStat() support (ART). Export some runtime stats (currently GC stats) via VMDebug.getRuntimeStat(). Added several new GC stats such as blocking GC counts and GC count histograms. Bug: 19825248 Change-Id: I8ece9ed241dc3982dfd983d7159090ba82940dce
|
70a596d61f8cf5b6447326c46c3386e0fbd5bfb5 |
|
17-Dec-2014 |
Mathieu Chartier <mathieuc@google.com> |
Add thread suspend histogram Helps measure time to suspend. Example output (maps after a few seconds): suspend all histogram: Sum: 2.806ms 99% C.I. 2us-1090.560us Avg: 43.843us Max: 1126us Change-Id: I7bd9dd3b401fb3e3059e8718556d60910e541611
|
19d46b44f2abe742be22e32908dbfd9e6dd9bfea |
|
18-Jun-2014 |
Mathieu Chartier <mathieuc@google.com> |
Fix systrace logging, total paused time, and bytes saved message. Moved the GC top level systrace logging to be inside of Collector::Run. This prevents cases where we forgot to call it such as background compaction. Fixed a unit error regarding total pause time. Fixed negative bytes saved to use the word "expanded". Bug: 15702709 Change-Id: Ic2991ecad2daa000d0aee9d559b8bc77d8c160aa
|
7410f29b4dae223befac036ea567d7f33351dad1 |
|
24-Nov-2013 |
Mathieu Chartier <mathieuc@google.com> |
Fix dumpsys meminfo <pid>. Added a case for BumpPointerSpaces. Confirmed working non-debug. Should also work in debug builds. Bug: 11830794 Change-Id: I12053ff16eec403dcd4a780e13095e3212a77132
|
b2f9936cab87a187f078187c22d9b29d4a188a62 |
|
21-Nov-2013 |
Mathieu Chartier <mathieuc@google.com> |
Add histogram for GC pause times. Printed when you dump the GC performance info. Bug: 10855285 Change-Id: I3bf7f958305f97c52cb31c03bdd6218c321575b9
|
19b0a913d9127a70ca35ebae166312bc6eee3196 |
|
20-Nov-2013 |
Mathieu Chartier <mathieuc@google.com> |
Improve histogram and timing logger dumping. We now dump the sum (total time) of each histogram as well as previous stats. This is useful for the GC since the same split can occur multiple times per GC iteration. Also did a few memory optimizations by changing the map in the cumulative loggers to be a set. Bug: 11789200 Change-Id: I67bcc5384200924c8dc5d9eebcff077ce72b7e57
|
500793f33b8af8bc7ccf5595a66b4b13bce766bc |
|
15-Nov-2013 |
Ian Rogers <irogers@google.com> |
LEB128 tests and performance measurements. Change-Id: I1850a2ff9225cfab8f896619c212b1b55f03ae94
|
02e25119b15a6f619f17db99f5d05124a5807ff3 |
|
15-Aug-2013 |
Mathieu Chartier <mathieuc@google.com> |
Fix up TODO: c++0x, update cpplint. Needed to update cpplint to handle const auto. Fixed a few cpplint errors that were being missed before. Replaced most of the TODO c++0x with ranged based loops. Loops which do not have a descriptive container name have a concrete type instead of auto. Change-Id: Id7cc0f27030f56057c544e94277300b3f298c9c5
|
e5426c9995d28bcb19391d8dbf0ad70606cf1770 |
|
01-Aug-2013 |
Mathieu Chartier <mathieuc@google.com> |
Fix histogram memory issues. Before we had buckets of 5 micro second size. For a 100 MS GC this used at least 16 * (100 / .005) bytes of storage inside of the histogram data structure. If you consider the 3 different GC types, and each timing logger having its own histogram its easy to see how memory used was significant. We now have an upper bound on the number of buckets (default 100). When we hit the upper bound we simply combine adjacent buckets together. This reduces the total number of buckets by a factor of 2, while increasing the bucket size by a factor of 2. This means that we may lose a slight amount of precision, but the confidence intervals remain nearly as useful. Total unknown memory (occam-svelte): Before: 45648 kB: After: 33304 kB There are probably still some additional optimizations which can be done as disabling histograms altogether reduces the memory used by another ~2mB. A bit of other cleanup in image_space.cc and dlmalloc_space.cc. Bug: 9967927 Change-Id: I87bb6fe4a3e0e790f104abf3cf07f67677cd7ab3
|
0cd7ec2dcd8d7ba30bf3ca420b40dac52849876c |
|
18-Jul-2013 |
Brian Carlstrom <bdc@google.com> |
Fix cpplint whitespace/blank_line issues Change-Id: Ice937e95e23dd622c17054551d4ae4cebd0ef8a2
|
93ba893c20532990a430741e0a97212900094e8c |
|
18-Jul-2013 |
Brian Carlstrom <bdc@google.com> |
Fix cpplint runtime/explicit issues Change-Id: I352ba0b427f1ff9b22887693952b180eae0839ba
|
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
|