a1d2f957a21319d1110bebb9a52f46fd1c67ffaf |
|
21-Apr-2017 |
Andreas Gampe <agampe@google.com> |
ART: Clean up art_field.h Clean up the header. Fix up other headers including the -inl file, in an effort to prune the include graph. Fix broken transitive includes by making includes explicit. Test: m Change-Id: I6ff2d6f89b741d8188e19426eccf4743fec688fc
|
8c19d2431f45861ca11cf5ebc4fdaf10200f2458 |
|
06-Mar-2017 |
Mathieu Chartier <mathieuc@google.com> |
Refactor image writer Aim to have common functions for copying references and pointers. Required for adding support for faster image fixups. Test: test-art-host -j32 Bug: 34927277 Bug: 34928633 Change-Id: Ia654efc483b332eea3535570496bfeccd7c635ee
|
8d6768d47b66a688d35399d524ad5a5450e9d9d4 |
|
14-Mar-2017 |
Vladimir Marko <vmarko@google.com> |
Revert^6 "Hash-based dex cache type array." Fixed ImageWriter to write class table also if it contains only boot class loader classes. Added a regression test and added extra checks for debug-build to verify that dex cache types from app image are also in the class table. Removed some unnecessary debug output. Test: 158-app-image-class-table Bug: 34839984 Bug: 30627598 Bug: 34659969 This reverts commit 0b66d6174bf1f6023f9d36dda8538490b79c2e9f. Change-Id: I6a747904940c6ebc297f4946feef99dc0adf930c
|
bcd9b99d9613400e6de8f082778a64c1018511d9 |
|
13-Mar-2017 |
Vladimir Marko <vmarko@google.com> |
Revert^5 "Hash-based dex cache type array." For app images, ImageWriter does not add boot image classes to the app image class table even though it keeps them in the dex caches. The reason for that is unknown, the code looks OK. Bug: 34839984 Bug: 30627598 Bug: 34659969 Also reverts "Improve debugging output for a crash." This reverts commits bfb80d25eaeb7a604d5dd25a370e3869e96a33ab, 8dd56fcb3196f466ecaffd445397cb11ef85f89f. Test: testrunner.py --host Change-Id: Ic8db128207c07588c7f11563208ae1e85c8b0e84 (cherry picked from commit 0b66d6174bf1f6023f9d36dda8538490b79c2e9f)
|
2f555967e54549d26ee74bd0303f8be5155f2e08 |
|
13-Mar-2017 |
Vladimir Marko <vmarko@google.com> |
Revert^5 "Hash-based dex cache type array." For app images, ImageWriter does not add boot image classes to the app image class table even though it keeps them in the dex caches. The reason for that is unknown, the code looks OK. Bug: 34839984 Bug: 30627598 Bug: 34659969 Also reverts "Improve debugging output for a crash." This reverts commits bfb80d25eaeb7a604d5dd25a370e3869e96a33ab, 8dd56fcb3196f466ecaffd445397cb11ef85f89f. Test: testrunner.py --host Change-Id: Ic8db128207c07588c7f11563208ae1e85c8b0e84 (cherry picked from commit 0b66d6174bf1f6023f9d36dda8538490b79c2e9f)
|
0b66d6174bf1f6023f9d36dda8538490b79c2e9f |
|
13-Mar-2017 |
Vladimir Marko <vmarko@google.com> |
Revert^5 "Hash-based dex cache type array." For app images, ImageWriter does not add boot image classes to the app image class table even though it keeps them in the dex caches. The reason for that is unknown, the code looks OK. Bug: 34839984 Bug: 30627598 Bug: 34659969 Also reverts "Improve debugging output for a crash." This reverts commits bfb80d25eaeb7a604d5dd25a370e3869e96a33ab, 8dd56fcb3196f466ecaffd445397cb11ef85f89f. Test: testrunner.py --host Change-Id: Ic8db128207c07588c7f11563208ae1e85c8b0e84
|
bfb80d25eaeb7a604d5dd25a370e3869e96a33ab |
|
14-Feb-2017 |
Vladimir Marko <vmarko@google.com> |
Revert^4 "Hash-based dex cache type array." Added extra output to the abort message to collect more data when we hit the crash. Added extra check when loading an app image to verify that the class table isn't already broken. Test: testrunner.py --host Bug: 34839984 Bug: 30627598 Bug: 34659969 This reverts commit 5812e20ff7cbc8efa0b8d7486ada2f58840a6ad5. Change-Id: I9bb442a184c236dcb75b3e42a095f39cd6bee59d
|
5812e20ff7cbc8efa0b8d7486ada2f58840a6ad5 |
|
14-Feb-2017 |
Mathieu Chartier <mathieuc@google.com> |
Revert^3 "Hash-based dex cache type array." Assert failing for "earchbox:search": F zygote64: class_linker.cc:4612] Check failed: handle_scope_iface.Get() != nullptr Test: m test-art-host Bug: 34839984 Bug: 30627598 Bug: 34659969 This reverts commit 85c0f2ac03417f5125bc2ff1dab8109859c67d5c. Change-Id: I39846c20295af5875b0f945be7035c73ded23135
|
85c0f2ac03417f5125bc2ff1dab8109859c67d5c |
|
02-Feb-2017 |
Vladimir Marko <vmarko@google.com> |
Revert^2 "Hash-based dex cache type array." The reason for the revert was fixed by https://android-review.googlesource.com/332666 . We now enable clearing dex cache types in test 155 from that CL. Also avoid an unnecessary store in LookupResolvedTypes() and prevent verifier from messing up the dex cache types. Test: m test-art-host Bug: 34839984 Bug: 30627598 Bug: 34659969 This reverts commit d16363a93053de0f32252c7897d839a46aff14ae. Change-Id: Ie8603cfa772e78e648d005b0b6eae59062ae729d
|
e0a1c5e871d7b68bd7c0e9c4496b620577a97cf9 |
|
01-Feb-2017 |
Vladimir Marko <vmarko@google.com> |
Revert "Hash-based dex cache type array." Reverting to work around some programs crashing with Check failed: handle_scope_iface.Get() != nullptr. though the reason for the failure not yet understood. Test: m test-art-host Bug: 34839984 Bug: 30627598 Bug: 34659969 Bug: 30419309 This reverts commit ec7862283dd49f5a58d0ac45960ce27c2f7671b8. Change-Id: Ifded663633082f1e59e5b6ff2e026dc559bd6b82 (cherry picked from commit d16363a93053de0f32252c7897d839a46aff14ae)
|
80cd4004620fd1a672c2a550e9d71270feeabde9 |
|
01-Feb-2017 |
Vladimir Marko <vmarko@google.com> |
Revert "Hash-based dex cache type array." Reverting to work around some programs crashing with Check failed: handle_scope_iface.Get() != nullptr. though the reason for the failure not yet understood. Test: m test-art-host Bug: 34839984 Bug: 30627598 Bug: 34659969 Bug: 30419309 This reverts commit ec7862283dd49f5a58d0ac45960ce27c2f7671b8. Change-Id: Ifded663633082f1e59e5b6ff2e026dc559bd6b82 (cherry picked from commit d16363a93053de0f32252c7897d839a46aff14ae)
|
d16363a93053de0f32252c7897d839a46aff14ae |
|
01-Feb-2017 |
Vladimir Marko <vmarko@google.com> |
Revert "Hash-based dex cache type array." Reverting to work around some programs crashing with Check failed: handle_scope_iface.Get() != nullptr. though the reason for the failure not yet understood. Test: m test-art-host Bug: 34839984 Bug: 30627598 Bug: 34659969 Bug: 30419309 This reverts commit ec7862283dd49f5a58d0ac45960ce27c2f7671b8. Change-Id: Ifded663633082f1e59e5b6ff2e026dc559bd6b82
|
ec7862283dd49f5a58d0ac45960ce27c2f7671b8 |
|
20-Dec-2016 |
Vladimir Marko <vmarko@google.com> |
Hash-based dex cache type array. Test: m test-art-host (Interpreter, Optimizing, JIT) Test: m test-art-target on Nexus 6P (Interpreter, Optimizing, JIT) Test: Nexus 6P boots Test: m valgrind-test-art-host Bug: 30627598 Bug: 34659969 Bug: 30419309 Change-Id: Ic00eda89e58088a3573fc9ec0ad04c0e69e161d1
|
8a0128a5ca0784f6d2b4ca27907e8967a74bc4c5 |
|
28-Nov-2016 |
Andreas Gampe <agampe@google.com> |
ART: Add dex::StringIndex Add abstraction for uint32_t string index. Test: m test-art-host Change-Id: I917c2881702fe3df112c713f06980f2278ced7ed
|
a5b09a67034e57a6e10231dd4bd92f4cb50b824c |
|
18-Nov-2016 |
Andreas Gampe <agampe@google.com> |
ART: Add dex::TypeIndex Add abstraction for uint16_t type index. Test: m test-art-host Change-Id: I47708741c7c579cbbe59ab723c1e31c5fe71f83a
|
709b070044354d9f47641f273edacaeeb0240ab7 |
|
13-Oct-2016 |
David Sehr <sehr@google.com> |
Remove mirror:: and ArtMethod deps in utils.{h,cc} The latest chapter in the ongoing saga of attempting to dump a DEX file without having to start a whole runtime instance. This episode finds us removing references to ArtMethod/ArtField/mirror. One aspect of this change that I would like to call out specfically is that the utils versions of the "Pretty*" functions all were written to accept nullptr as an argument. I have split these functions up as follows: 1) an instance method, such as PrettyClass that obviously requires this != nullptr. 2) a static method, that behaves the same way as the util method, but calls the instance method if p != nullptr. This requires using a full class qualifier for the static methods, which isn't exactly beautiful. I have tried to remove as many cases as possible where it was clear p != nullptr. Bug: 22322814 Test: test-art-host Change-Id: I21adee3614aa697aa580cd1b86b72d9206e1cb24
|
3398c7874e002beaa6c2b2fadf183e7d1ddad23a |
|
30-Sep-2016 |
Mathieu Chartier <mathieuc@google.com> |
Move ArtField to ObjPtr Added EXPECT_OBJ_PTR_EQ and variants to gtests. Fixed moving GC bugs in: ClassLinker::CreatePathClassLoader ClassLinkerTest: StaticFields ObjPtr Decode call sites: 186 -> 181. Some tests fail due to ResolvedFieldAccessTest, will fix in follow up CL. Bug: 31113334 Test: test-art-host CC baker Change-Id: I8b266ad00f3c20c8cbe7cfdf280d175083df0b88
|
bdf7f1c3ab65ccb70f62db5ab31dba060632d458 |
|
31-Aug-2016 |
Andreas Gampe <agampe@google.com> |
ART: SHARED_REQUIRES to REQUIRES_SHARED This coincides with the actual attribute name and upstream usage. Preparation for deferring to libbase. Test: m Test: m test-art-host Change-Id: Ia8986b5dfd926ba772bf00b0a35eaf83596d8518
|
7a62e6728463237684d3d9834d81bd7bba7ab197 |
|
11-Jun-2016 |
Hiroshi Yamauchi <yamauchi@google.com> |
Propagate the read barrier option to Class::VisitNativeRoots. Propagate the read barrier option from Object::VisitReferences to Class::VisitNativeRoots. This is a step toward the GC thread avoiding graying objects (and reducing dirty pages) in the immune spaces. Bug: 12687968 Change-Id: I29c4126a4ad4c40e63a934e62451fb3fb36aad43
|
cb044bc5732d3ac44d22ebab01502fa303731aeb |
|
01-Apr-2016 |
Mathieu Chartier <mathieuc@google.com> |
Dump different fields in imgdiag Dump which fields are different, also print field values. (cherry picked from commit ec1533880f3606546baceafe2db513d1a63c20da) Change-Id: Ie91ea07fb8ff7822fb7a03227cd7139e5e54db0e
|
ec1533880f3606546baceafe2db513d1a63c20da |
|
01-Apr-2016 |
Mathieu Chartier <mathieuc@google.com> |
Dump different fields in imgdiag Dump which fields are different, also print field values. Bug: 27906566 Change-Id: Ia7b49981b59ccf058f098edcff4c39c10448b89e
|
fbc31087932a65e036a153afab3049dc5298656a |
|
24-Jan-2016 |
Mathieu Chartier <mathieuc@google.com> |
Revert "Revert "Load app images"" This reverts commit 1bc977cf2f8199311a97f2ba9431a184540e3e9c. Bug: 22858531 Change-Id: Ide00bf3a73a02cba3bb364177204ad1b13f70295
|
1bc977cf2f8199311a97f2ba9431a184540e3e9c |
|
23-Jan-2016 |
Nicolas Geoffray <ngeoffray@google.com> |
Revert "Load app images" Fails when a method is duplicated (see test 097-duplicate-method) Bug: 22858531 This reverts commit f7fd970244f143b1abb956e29794c446e4d57f46. Change-Id: Ib30ae5be00cc568e799290be6b3c8f29cbbe4c20
|
f7fd970244f143b1abb956e29794c446e4d57f46 |
|
09-Nov-2015 |
Mathieu Chartier <mathieuc@google.com> |
Load app images Support in-place patching of the app image based on boot image location and app oat location. Only loads for art run test so far since we do not automatically generate app images for app installs. N5 maps launch time (~200 runs): Before: 930ms After: 878.18ms After + image class table: 864.57ms TODO: Oatdump support. Store class loaders as class roots in image. Bug: 22858531 Change-Id: I9cbc645645e62ea2ed1ad8e139e91af7d88514c1
|
a7a4759946d9f11c88dc108b2b6a9518ce9c1e18 |
|
24-Nov-2015 |
Nicolas Geoffray <ngeoffray@google.com> |
Revert "lambda: Add support for invoke-interface for boxed innate lambdas" 955-lambda is flaky Bug: 24618608 Bug: 25107649 This reverts commit 457e874459ae638145cab6d572e34d48480e39d2. (cherry picked from commit 3a0909248e04b22c3981cbf617bc2502ed5b6380) Change-Id: I24884344d21d7a4262e53e3f5dba57032687ddb7
|
3a0909248e04b22c3981cbf617bc2502ed5b6380 |
|
24-Nov-2015 |
Nicolas Geoffray <ngeoffray@google.com> |
Revert "lambda: Add support for invoke-interface for boxed innate lambdas" 955-lambda is flaky Bug: 24618608 Bug: 25107649 This reverts commit 457e874459ae638145cab6d572e34d48480e39d2. Change-Id: I24884344d21d7a4262e53e3f5dba57032687ddb7
|
457e874459ae638145cab6d572e34d48480e39d2 |
|
23-Oct-2015 |
Igor Murashkin <iam@google.com> |
lambda: Add support for invoke-interface for boxed innate lambdas Lambda closures created with the 'create-lambda' instruction (termed "innate lambdas") can be turned into an object with 'box-lambda'. This CL enables support for those kinds of lambdas to work with 'invoke-interface' by generating a proxy class for the lambda. Note: MIPS32/64 support not included. Bug: 24618608 Bug: 25107649 Change-Id: Ic8f1bb66ebeaed4097e758a50becf1cff6ccaefb
|
2a5c4681ba19411c1cb22e9a7ab446dab910af1c |
|
14-Aug-2015 |
Andreas Gampe <agampe@google.com> |
ART: Some header cleaning around bit-utils Try to remove dependencies where they are not necessary. Change-Id: I5ff35cb17aea369bed3725b1610b50d7eb05b81e
|
da7c650022a974be10e2f00fa07d5109e3d8826f |
|
24-Jul-2015 |
Mathieu Chartier <mathieuc@google.com> |
Visit class native roots from VisitReferences Visit class roots when we call Class::VisitReferences instead of in the class linker. This makes it easier to implement class unloading since unmarked classes won't have their roots visited by the class linker. Bug: 22181835 Change-Id: I63f31e5ebef7b2a0b764b3ba3cb038b3f561b379
|
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
|
3d21bdf8894e780d349c481e5c9e29fe1556051c |
|
22-Apr-2015 |
Mathieu Chartier <mathieuc@google.com> |
Move mirror::ArtMethod to native Optimizing + quick tests are passing, devices boot. TODO: Test and fix bugs in mips64. Saves 16 bytes per most ArtMethod, 7.5MB reduction in system PSS. Some of the savings are from removal of virtual methods and direct methods object arrays. Bug: 19264997 (cherry picked from commit e401d146407d61eeb99f8d6176b2ac13c4df1e33) Change-Id: I622469a0cfa0e7082a2119f3d6a9491eb61e3f3d Fix some ArtMethod related bugs Added root visiting for runtime methods, not currently required since the GcRoots in these methods are null. Added missing GetInterfaceMethodIfProxy in GetMethodLine, fixes --trace run-tests 005, 044. Fixed optimizing compiler bug where we used a normal stack location instead of double on ARM64, this fixes the debuggable tests. TODO: Fix JDWP tests. Bug: 19264997 Change-Id: I7c55f69c61d1b45351fd0dc7185ffe5efad82bd3 ART: Fix casts for 64-bit pointers on 32-bit compiler. Bug: 19264997 Change-Id: Ief45cdd4bae5a43fc8bfdfa7cf744e2c57529457 Fix JDWP tests after ArtMethod change Fixes Throwable::GetStackDepth for exception event detection after internal stack trace representation change. Adds missing ArtMethod::GetInterfaceMethodIfProxy call in case of proxy method. Bug: 19264997 Change-Id: I363e293796848c3ec491c963813f62d868da44d2 Fix accidental IMT and root marking regression Was always using the conflict trampoline. Also included fix for regression in GC time caused by extra roots. Most of the regression was IMT. Fixed bug in DumpGcPerformanceInfo where we would get SIGABRT due to detached thread. EvaluateAndApplyChanges: From ~2500 -> ~1980 GC time: 8.2s -> 7.2s due to 1s less of MarkConcurrentRoots Bug: 19264997 Change-Id: I4333e80a8268c2ed1284f87f25b9f113d4f2c7e0 Fix bogus image test assert Previously we were comparing the size of the non moving space to size of the image file. Now we properly compare the size of the image space against the size of the image file. Bug: 19264997 Change-Id: I7359f1f73ae3df60c5147245935a24431c04808a [MIPS64] Fix art_quick_invoke_stub argument offsets. ArtMethod reference's size got bigger, so we need to move other args and leave enough space for ArtMethod* and 'this' pointer. This fixes mips64 boot. Bug: 19264997 Change-Id: I47198d5f39a4caab30b3b77479d5eedaad5006ab
|
e401d146407d61eeb99f8d6176b2ac13c4df1e33 |
|
22-Apr-2015 |
Mathieu Chartier <mathieuc@google.com> |
Move mirror::ArtMethod to native Optimizing + quick tests are passing, devices boot. TODO: Test and fix bugs in mips64. Saves 16 bytes per most ArtMethod, 7.5MB reduction in system PSS. Some of the savings are from removal of virtual methods and direct methods object arrays. Bug: 19264997 Change-Id: I622469a0cfa0e7082a2119f3d6a9491eb61e3f3d
|
375a29a824207fb2187bc3d31bfaae2d8283b3a2 |
|
14-May-2015 |
Hiroshi Yamauchi <yamauchi@google.com> |
Print field info on mark sweep invalid ref crash. (cherry pick commit eb2baaf20d9059c0fc38141780ec05bea0486c40) Bug: 20557050 Change-Id: I3abb7a44e3b7ed3256653824fd1705aac5f7d72c
|
eb2baaf20d9059c0fc38141780ec05bea0486c40 |
|
14-May-2015 |
Hiroshi Yamauchi <yamauchi@google.com> |
Print field info on mark sweep invalid ref crash. Bug: 20557050 Change-Id: I3abb7a44e3b7ed3256653824fd1705aac5f7d72c
|
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
|
3481ba2c4e4f3aa80d8c6d50a9f85dacb56b508b |
|
13-Apr-2015 |
Vladimir Marko <vmarko@google.com> |
ART: Clean up includes. Reduce dependencies to improve incremental build times. Break up circular dependency involving class_linker-inl.h. Change-Id: I4be742c5c2b5cd9855beea86630fd68aab76b0db
|
c785344b87221f5e4e6473e5b762e4e61fe65dcf |
|
27-Mar-2015 |
Mathieu Chartier <mathieuc@google.com> |
Move ArtField to native Add linear alloc. Moved ArtField to be native object. Changed image writer to put ArtFields after the mirror section. Savings: 2MB on low ram devices 4MB on normal devices Total PSS measurements before (normal N5, 95s after shell start): Image size: 7729152 bytes 23112 kB: .NonMoving 23212 kB: .NonMoving 22868 kB: .NonMoving 23072 kB: .NonMoving 22836 kB: .NonMoving 19618 kB: .Zygote 19850 kB: .Zygote 19623 kB: .Zygote 19924 kB: .Zygote 19612 kB: .Zygote Avg: 42745.4 kB After: Image size: 7462912 bytes 17440 kB: .NonMoving 16776 kB: .NonMoving 16804 kB: .NonMoving 17812 kB: .NonMoving 16820 kB: .NonMoving 18788 kB: .Zygote 18856 kB: .Zygote 19064 kB: .Zygote 18841 kB: .Zygote 18629 kB: .Zygote 3499 kB: .LinearAlloc 3408 kB: .LinearAlloc 3424 kB: .LinearAlloc 3600 kB: .LinearAlloc 3436 kB: .LinearAlloc Avg: 39439.4 kB No reflection performance changes. Bug: 19264997 Bug: 17643507 Change-Id: I10c73a37913332080aeb978c7c94713bdfe4fe1c
|