c9658049f924d2faf1e39246d300ca03db8278b6 |
|
06-Jul-2017 |
Chris Larsen <chris.larsen@imgtec.com> |
Eliminate false negatives from ART 141-class-unload test. This test looks for memory mappings of the 141-class-unload class file. In previous versions of Android these mappings appeared as lines in the file /proc/<pid>/maps which contained the string "@141-class-unload-ex.jar". Android now uses a different encoding for these mappings. Memory mappings of the 141-class-unload class file now contain either the string "141-class-unload-ex.odex", or the string "141-class-unload-ex.vdex". The test has been updated to now search for mappings which contain either of these strings. To see what entries exist in /proc/<pid>/maps file run the ART test 141-class-unload under the control of the debugger, and set a breakpoint for Heap::CollectGarbageInternal(). When the breakpoint is triggered run "adb shell" in a different terminal window and run the command "grep 141-class-unload-ex /proc/<pid>/maps". Test: ./run-test --gdb --debuggable --no-optimize --always-clean 141 This test was run against the emulators for aosp_arm-eng, aosp_arm64-eng, aosp_mips-eng, aosp_mips64-eng, aosp_x86-eng, and aosp_x86_64-eng. Change-Id: Iadf8dc9cb9cc6884d82ff9993c13d24369c4955c
|
f6c66c3348a2b64e4b6472827e31f711142006e3 |
|
17-Dec-2015 |
Kevin Brodsky <kevin.brodsky@linaro.org> |
Tests: never use System.err Always print stack traces to System.out, and replace all System.err.println()'s with System.out.println(). Follow-up of https://android-review.googlesource.com/#/c/187020/ and https://android-review.googlesource.com/#/c/407032/. Test: m test-art-host m test-art-target Change-Id: I9ab9cd955a8db25b2ec6673790e5bc924f62c88a
|
bc1ef6c60dae949002242ffd4c1551b468f04939 |
|
30-Mar-2017 |
Mathieu Chartier <mathieuc@google.com> |
Do more GCs for test 141 Try to prevent rare race conditions that could cause the class loader to not be unloaded. Bug: 36377932 Test: test/testrunner/testrunner.py --host -t 141 Change-Id: I9429350b73c241478d474af37262576a512cc6a6
|
40d4c7636e51f910b2c9ef226b7183e6ccc9ab4b |
|
08-Nov-2016 |
neo.chae <neo.chae@lge.com> |
Add visiting for class loaders in StickyMarkSweep StickyMarkSweep clear the mark stack, Because all reachable objects must be referenced by a root or a dirty card. But, there are some marking hole for class object. If some object is marked and the object and it's class object is not dirty, Then class object cannot be marking by card table. In previous OS including mashmellow, Class table was maintaned by class linker and all class object was marked with kVisitRootFlagAllRoots flag. In N OS, Class object is not marked with kVisitRootFlagAllRoots. So, I added new flag to mark class object and using it StickyMarkSweep. Added regression test in 141-class-unload. Test: test-art-host Merged-In: I57599e6db53b260f4c5ef466b63962141b8da5c3 (cherry picked from commit a2d1b28599e38ee0180f0f7130a879eac5be9dec) Bug: 33924225 Change-Id: I57599e6db53b260f4c5ef466b63962141b8da5c3 Signed-off-by: Hyangseok Chae <neo.chae@lge.com>
|
021c5f285550bf1cfa435db6a8bc7e77843e2b7d |
|
16-Dec-2016 |
Nicolas Geoffray <ngeoffray@google.com> |
Make 141-class-unload more robust under JIT. Make sure jit is stopped before counting maps. bug: 29712509 test: 141-class-unload Change-Id: I52c0fed74556fa228cd73c9c0bc6a1d019df0a1c
|
a2d1b28599e38ee0180f0f7130a879eac5be9dec |
|
08-Nov-2016 |
neo.chae <neo.chae@lge.com> |
Add visiting for class loaders in StickyMarkSweep StickyMarkSweep clear the mark stack, Because all reachable objects must be referenced by a root or a dirty card. But, there are some marking hole for class object. If some object is marked and the object and it's class object is not dirty, Then class object cannot be marking by card table. In previous OS including mashmellow, Class table was maintaned by class linker and all class object was marked with kVisitRootFlagAllRoots flag. In N OS, Class object is not marked with kVisitRootFlagAllRoots. So, I added new flag to mark class object and using it StickyMarkSweep. Added regression test in 141-class-unload. Test: test-art-host Change-Id: I57599e6db53b260f4c5ef466b63962141b8da5c3 Signed-off-by: Hyangseok Chae <neo.chae@lge.com>
|
166aaee6aa39c20c87113b3fcf0dcd81e0a934cb |
|
18-Jul-2016 |
Andreas Gampe <agampe@google.com> |
ART: Fix type parameter in tests Move Class to Class<?>, Constructor to Constructor<?>, and in general clean up reflection. Test: m test-art-host-run-test Change-Id: I3a4223ee8d14d032015edf34bf27135757f7138c
|
b0e861cb829f190f91579637f93a096fc1a680b7 |
|
01-Jul-2016 |
Mathieu Chartier <mathieuc@google.com> |
Fix unsafe weak reference usage in test 141 There were patterns like: WeakRef<Class> klass = ... klass.get().<method> These are unsafe since background GC could unload and null out the weak reference. We now pass the weak reference to another function. Deleted bad and unsafe test. Test: test-art-host Bug: 29889416 Change-Id: I6a8daf678262757e54e5817ec63b7c33f4b156ab
|
0452f4dcde1b67e4a5ee80e0c1ccd70156bf89ba |
|
29-Apr-2016 |
Dimitry Ivanov <dimitry@google.com> |
Supply librarySearchPath to PathClassLoader PathClassLoader needs librarySearchPath in order to be able to find native libraries. The java.library.path property is no longer implicitly applied to all basedexclassloaders, and needs to be passed explicitly. Bug: http://b/28449304 Change-Id: Id5b4273553d783c0f7a964f72ecb2c99f3aeaf6f (cherry picked from commit 3a79b6389df39928823a7a8e862c2f647a1cd164)
|
3a79b6389df39928823a7a8e862c2f647a1cd164 |
|
29-Apr-2016 |
Dimitry Ivanov <dimitry@google.com> |
Supply librarySearchPath to PathClassLoader PathClassLoader needs librarySearchPath in order to be able to find native libraries. The java.library.path property is no longer implicitly applied to all basedexclassloaders, and needs to be passed explicitly. Bug: http://b/28449304 Change-Id: Id5b4273553d783c0f7a964f72ecb2c99f3aeaf6f
|
b6e20ae17d0881a66c22532e4152ce6779454a92 |
|
07-Mar-2016 |
Nicolas Geoffray <ngeoffray@google.com> |
Clear inline caches at each full GC. This fixes occasional failures of 141-class-unload. Also fix a bug where clearing inline caches also cleared the dex pc associated with it. bug:26846185 bug:23128949 Change-Id: I77bf1dee229d7764c3cc21440829c7fba7b37001
|
91d65e024846717fce3572106cffe9b957b8902c |
|
19-Jan-2016 |
Roland Levillain <rpl@google.com> |
Fix various typos in ART's comments and string literals. Change-Id: I85d628055b1a61647a77fef730c9631c234e22a2
|
e58991b3b2282b5761f1a6023a16c803e1c4eb45 |
|
13-Oct-2015 |
Mathieu Chartier <mathieuc@google.com> |
Revert "Revert "Unload oat files"" Fixed a race where two threads calling OatFile::Open could both use dlopen on the host. Bug: 22720414 This reverts commit 72da5e7461fec3b1e116050f2e6f233efb9c54f3. Change-Id: I1636045b724944d2a09417527280784967957095
|
72da5e7461fec3b1e116050f2e6f233efb9c54f3 |
|
13-Oct-2015 |
Nicolas Geoffray <ngeoffray@google.com> |
Revert "Unload oat files" Tentative, will monitor bots if flakiness is fixed. Bug: 22720414 This reverts commit 18656fefc7e68e2549a8fa93455074d359d1efa8. Change-Id: I53b645b73207ccd21cad6ddac1de483bcc158794
|
18656fefc7e68e2549a8fa93455074d359d1efa8 |
|
10-Oct-2015 |
Mathieu Chartier <mathieuc@google.com> |
Unload oat files Unregister and delete oat file when we call DexFile.closeDexFile if all of the dex files are no longer in use. We store the oat file as the first element of the dex files array (cookie). Added a test that reads the proc maps to ensure there are no unload-ex maps. Also some clean up. Bug: 22720414 Change-Id: I52ab84562d1045e94b9a37aafe57609a14f188f7
|
910e8275440dd3b70f2e8f6c473ba1707c00261d |
|
30-Sep-2015 |
Mathieu Chartier <mathieuc@google.com> |
Revert "Revert "Keep internal stack trace methods declaring classes live"" Fixed some code which used old stack trace representation in throwable.cc. Bug: 22720414 This reverts commit 45a8522898702f6a725ae19d97bceedc8fc609a6. Change-Id: I7385075caf649ce76da5d8866fd0031b9e8e5ef4
|
45a8522898702f6a725ae19d97bceedc8fc609a6 |
|
30-Sep-2015 |
Nicolas Geoffray <ngeoffray@google.com> |
Revert "Keep internal stack trace methods declaring classes live" Breaks jdwp tests. Bug: 22720414 This reverts commit 566fc926942ed57925627d1bd43e099938084f1e. Change-Id: Ic3544e86af35bf748f9d47e0a4077dcdc206a821
|
566fc926942ed57925627d1bd43e099938084f1e |
|
29-Sep-2015 |
Mathieu Chartier <mathieuc@google.com> |
Keep internal stack trace methods declaring classes live We now store the declaring classes in the internal stack trace to make sure class unloading doesn't unload any classes owning methods in the stack trace. This fixes DexClassLoaderTest in libcore. Added regression test. Bug: 22720414 Change-Id: I185f87c8ec0807e83f4661bd5bb5652dba6fc281
|
a50f9cf85a3c72376a6f3e4d2e673c08169cffde |
|
25-Sep-2015 |
Mathieu Chartier <mathieuc@google.com> |
Fix JIT for class unloading Keep declaring class of method live to prevent unloading. Wait for JIT to finish compiling before calling Runtime.gc(), this prevents flaky failures due to classes not being unloaded. Bug: 22720414 Change-Id: I9fe5e5e39d681bcd22acc2d2f34b0dbc9887708d
|
598302ac91fd3e990f50e1aa530c3ad61d6d946e |
|
23-Sep-2015 |
Mathieu Chartier <mathieuc@google.com> |
Call JNI_OnUnload when class loaders get collected Added test case to 141-class-unload. Bug: 22720414 Change-Id: I0575fae72521520a17587e8b0088bf8112705ad8
|
05aa4d3eb18bdcf2dab0addbc656f5ba28242043 |
|
19-Sep-2015 |
Mathieu Chartier <mathieuc@google.com> |
Enable class unloading Also added class unloading test. Added a missing write barrier in the class linker to fix a heap corruption error. Bug: 22720414 Change-Id: Iff615d69b574a4438e91d4c844279d202f4f2736
|