0cc2a92374ef14b0e2104b9d4ea148750b657694 |
|
28-Feb-2016 |
Mathieu Chartier <mathieuc@google.com> |
Revert "Revert "Improve immune spaces logic"" Test was flaky due to missing guard page at the end of the region. Bug: 27136196 This reverts commit 07dbbca0b42cb8da1811de8209b4a7d4becfc7b2. (cherry picked from commit 032c0051eb47f1f62586602894e5833356f4f9ec) Change-Id: I7f9fcb0785ec45aaeded8ed65b7fa1abcf798282
|
deb880435f892f2f577a7c730bbccb315bc49e1c |
|
27-Feb-2016 |
Nicolas Geoffray <ngeoffray@google.com> |
Revert "Improve immune spaces logic" test is flaky. For example: [ RUN ] ImmuneSpacesTest.MultiImage art/runtime/gc/collector/immune_spaces_test.cc:351: Failure Value of: space5->Limit() Actual: 0xb6d72000 Expected: reinterpret_cast<uint8_t*>(spaces.GetLargestImmuneRegion().End()) Which is: 0xb6d93000 [ FAILED ] ImmuneSpacesTest.MultiImage (1076 ms) Bug: 27136196 This reverts commit 17b8bce064fe4c0b29117abe489b7f8c2c950d43. (cherry picked from commit 07dbbca0b42cb8da1811de8209b4a7d4becfc7b2) Change-Id: I5da504491dc4ff5d665891df5c93d892790d990d
|
032c0051eb47f1f62586602894e5833356f4f9ec |
|
28-Feb-2016 |
Mathieu Chartier <mathieuc@google.com> |
Revert "Revert "Improve immune spaces logic"" Test was flaky due to missing guard page at the end of the region. Bug: 27136196 This reverts commit 07dbbca0b42cb8da1811de8209b4a7d4becfc7b2. Change-Id: I4eb345f34e66b8684cd71a7897e3a8caa2f84140
|
07dbbca0b42cb8da1811de8209b4a7d4becfc7b2 |
|
27-Feb-2016 |
Nicolas Geoffray <ngeoffray@google.com> |
Revert "Improve immune spaces logic" test is flaky. For example: [ RUN ] ImmuneSpacesTest.MultiImage art/runtime/gc/collector/immune_spaces_test.cc:351: Failure Value of: space5->Limit() Actual: 0xb6d72000 Expected: reinterpret_cast<uint8_t*>(spaces.GetLargestImmuneRegion().End()) Which is: 0xb6d93000 [ FAILED ] ImmuneSpacesTest.MultiImage (1076 ms) Bug: 27136196 This reverts commit 17b8bce064fe4c0b29117abe489b7f8c2c950d43. Change-Id: I9168421dd6ebabc271ed5c2cdbc5a27c211dcf5a
|
06fc03b2bf02f1ccecfaaaaaa36ee8be65711c47 |
|
23-Feb-2016 |
Mathieu Chartier <mathieuc@google.com> |
Improve immune spaces logic We now properly include the largest continuous region with the most image bytes. Oat bytes are considered as part of the region but are not counted when comparing. This can result in more image bytes in cases where large oat files were previously included for the immune region. Also added handling for adjacent oat files: [image][image][oat][oat][space] will now properly be a single region. Bug: 27136196 (cherry picked from commit 17b8bce064fe4c0b29117abe489b7f8c2c950d43) Change-Id: Ic69489fef1ba72f735ee613d5416eeadc703c06e
|
17b8bce064fe4c0b29117abe489b7f8c2c950d43 |
|
23-Feb-2016 |
Mathieu Chartier <mathieuc@google.com> |
Improve immune spaces logic We now properly include the largest continuous region with the most image bytes. Oat bytes are considered as part of the region but are not counted when comparing. This can result in more image bytes in cases where large oat files were previously included for the immune region. Also added handling for adjacent oat files: [image][image][oat][oat][space] will now properly be a single region. Bug: 27136196 Change-Id: If2c002176dd32122e320e8a94551df46bd95256a
|
66a55394b0489b30576f90499f24b792a400a2d2 |
|
19-Feb-2016 |
Mathieu Chartier <mathieuc@google.com> |
Add VLOG(collector) to reduce log spam VLOG(gc) is enabled from AndroidRuntime, using it too much produces log spam. Bug: 22858531 (cherry picked from commit a6e1c126299586932ecd3c1133a55a6f8e1107fc) Change-Id: If60902a8d7855cdabd80208b9b385ce4ba4d9e5f
|
a6e1c126299586932ecd3c1133a55a6f8e1107fc |
|
19-Feb-2016 |
Mathieu Chartier <mathieuc@google.com> |
Add VLOG(collector) to reduce log spam VLOG(gc) is enabled from AndroidRuntime, using it too much produces log spam. Bug: 22858531 Change-Id: I5306c512eb7f55a178fa607d4b211ef25246e300
|
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
|