df0a8275abadc96a6363b59f31c64981571d6ed9 |
|
18-Feb-2016 |
Mathieu Chartier <mathieuc@google.com> |
Use image oat file instead of image header for immune spaces The old immune spaces logic used the oat file information in the image header instead of the actual oat file pointer. This was incorrect for the app image case since the app image oat file is not necessarily at the address specified in the header. This bug could cause an incorrect immune region that caused large objects to get freed if they were within this immune region. Added test. Bug: 22858531 (cherry picked from commit 5351da0225d027a19420153615634a1c78966bca) Change-Id: Ibf41b0c0a9a7b0d093146311e2603a186033e339
|
5351da0225d027a19420153615634a1c78966bca |
|
18-Feb-2016 |
Mathieu Chartier <mathieuc@google.com> |
Use image oat file instead of image header for immune spaces The old immune spaces logic used the oat file information in the image header instead of the actual oat file pointer. This was incorrect for the app image case since the app image oat file is not necessarily at the address specified in the header. This bug could cause an incorrect immune region that caused large objects to get freed if they were within this immune region. Added test. Bug: 22858531 Change-Id: I243253e61ea1afd42c3bb2414c02ce6dd36d0f9c
|
763a31ed7a2bfad22a9cb07f5301a71c0f97ca49 |
|
17-Nov-2015 |
Mathieu Chartier <mathieuc@google.com> |
Add immune spaces abstraction ImmuneSpaces is a set of spaces which are not reclaimable by the GC in the current collection. This set of spaces does not have requirements about space adjacency like the old ImmuneRegion. ImmuneSpaces generates the largest immune region for the GC. Since there is no requirement on adjacency, it is possible to have multiple non-adjacent applicaton image files. For image spaces, we also look at the oat code which is normally after the application image. In this case, we add the code as part of the immune region. This is required to have both the boot image and the zygote space be in the same immune region (for performance reasons). Bug: 22858531 Change-Id: I5103b31c0e39ad63c594f5557fc848a3b288b43e
|
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
|
2cd334ae2d4287216523882f0d298cf3901b7ab1 |
|
09-Jan-2015 |
Hiroshi Yamauchi <yamauchi@google.com> |
More of the concurrent copying collector. Bug: 12687968 Change-Id: I62f70274d47df6d6cab714df95c518b750ce3105
|
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
|
0e54cd0d8fc635d3dc8bf88a465fdade151a098f |
|
20-Mar-2014 |
Mathieu Chartier <mathieuc@google.com> |
Refactor and optimize GC code. Fixed the reference cache mod union table, and re-enabled it by default. Added a boolean flag to count how many null objects, immune, fast path, slow path objects we marked. Slight speedup in mark stack processing, large speedup in image mod union table scanning. EvaluateAndApplyChanges Before: Process mark stack time for full GC only: 12.464089s, 12.357870s, 12.538028s Time spent marking mod image union table ~240ms. After: Process mark stack time: 12.299375s, 12.217142s, 12.187076s Time spent marking mod image union table ~40ms. TODO: Refactor reference visiting logic into mirror::Object. Change-Id: I91889ded9d3f2bf127bc0051c1b1ff77e792e94f
|
8d562103c3a3452fb15ef4b1c64df767b70507a4 |
|
13-Mar-2014 |
Mathieu Chartier <mathieuc@google.com> |
Refactor immune region logic into its own file. Added immune_region.cc/.h in the collector directory. Changed the functionality to no longer assume spaces are added to immune region in ascending order. Change-Id: Id1d643b3849ad2695e8a151dbbb74a5035644472
|