1ed11b9ad5512cf464cb1686640df53201fa5297 |
|
12-Jun-2015 |
Man Cao <manc@google.com> |
Restore DDMS recent allocation tracking's behavior Make the allocation tracker mark recently allocated objects as roots, so the allocation records are not swept. Because DDMS needs recent allocation tracking records even for dead objects. This should fix the flaky failures for 098-ddmc test, but it cannot pass GC stress test (OOM). Re-enabled 098-ddmc for other tests. There should be an option to not mark them as roots, when user only needs HPROF dump with traces but not DDMS's recent allocation tracking. Probably need to add a new JNI API function for this option. There could be another way to keep a second list of recent allocation records and maintain a type cache for them, so not to make the objects roots. But it's more complex, and not sure which is better. Also reduce memory usage for AllocRecordStackTrace objects, and change default stack depth to 16. Rename the property that controls the stack depth to "debug.allocTracker.maxStackDepth" so developer can change it. Bug:20037135 Change-Id: Ic6b9ae87bdcda558be6f14ded8057e763439881c
|
0797e5890f0db2a95ad5be840f2999f51aeb731e |
|
12-Jun-2015 |
Man Cao <manc@google.com> |
Skip 098-ddmc for GC stress test And add comment about the temporary fix in 098-ddmc because of behavior change for DDMS's getRecentAllocations(). Also fixed a buggy typo in Android.run-test.mk. Bug: 20037135 Change-Id: Ia57e03f458d8570690616d2cc49f2ead42a96cb0
|
f80ebf2f23f5b8124587ed250f9d95bbeb6612c2 |
|
11-Jun-2015 |
Man Cao <manc@google.com> |
Fix buildbot failure for 098-ddmc test The test only failed on buildbot but not on my local machine. It is possibly caused by GC reclaiming dead objects and associated allocation records. More importantly, the CL 153435 changes the behavior of recent allocation tracking for DDMS, so that it now reports allocation records of not-yet- garbaged-collected objects. They are a superset of live objects, but not a precise set of the most recent allocations. Bug: 20037135 Change-Id: I200a6c8baaeb98207845049902d59efa2f4ea11e
|
67aea0a0b078c7f6ed780e5fafb31e9849127f79 |
|
28-Apr-2015 |
Jeff Hao <jeffhao@google.com> |
Change ddmc run-test to make new objects instead of strings. Before, the test was creating new strings until overflowing allocations, which was half string objects and half character arrays. Now, it allocates all strings with the character data, which is larger than before, causing the test to run out of memory. Allocating only objects prevents the test from running out of memory. Change-Id: Icf3f0fd2ae847e76a9b8d5dfb762be92de16aaa3
|
306db81aba41eb244a4e8299cf58ac18ae9999c7 |
|
05-Sep-2014 |
Brian Carlstrom <bdc@google.com> |
Fix numerous issues with DdmVmInternal allocation tracking Issues addressed: - Using without JDWP attached caused native crash. - When buffer is full (64k entries), number of entries reported was 0. - Disabling tracking after disabling tracking caused native crash. - Asking for allocations after disabled caused native crash. - Lock ordering issues between mutator lock and alloc tracker lock. Adding 098-ddmc test to cover these cases. Bug: 17392248 (cherry picked from commit a5815065ac0877add9c0db3605d27b4d6c426e61) Change-Id: Ib0bc18dfcdafcc050ab9dceed3d167dd878d1d7a
|
f4cb036808b88fe60d71a705b2744284155cbc01 |
|
05-Sep-2014 |
Brian Carlstrom <bdc@google.com> |
Fix numerous issues with DdmVmInternal allocation tracking Issues addressed: - Using without JDWP attached caused native crash. - When buffer is full (64k entries), number of entries reported was 0. - Disabling tracking after disabling tracking caused native crash. - Asking for allocations after disabled caused native crash. - Lock ordering issues between mutator lock and alloc tracker lock. Adding 098-ddmc test to cover these cases. Bug: 17392248 Change-Id: I45c0abbfb3dd7a7421aea3bbba2ea8d05225e48b
|