diff options
| author | 2011-09-06 09:25:34 -0700 | |
|---|---|---|
| committer | 2011-09-08 15:05:14 -0700 | |
| commit | 693267ad474039981e9be20a592ac2e4e3bd742e (patch) | |
| tree | 87a5bcfc0fd528e14f34f3e4212718100b58748e /src/compiler/codegen/arm/MethodCodegenDriver.cc | |
| parent | 5fe594f576225dd7d333835e39c448a71ea9b433 (diff) | |
Fix GarbageCollector to work with VERIFY_OBJECT_ENABLED
There were two problems with the GC:
1.) roots were being missed for most of the C++ fields
2.) Heap::RecordFree(Object) was not being called, only Space::Free
To solve #1, added all C++ shadow fields to libcore.
This involed updating dalvik to cope with the new sizes and offsets.
This had the positive side effect of allowing a lot of special cases
in the object scanning and image writing.
To solve #2, added a call to the now public Heap::RecordFree from MarkSweep
Given the now better working GC:
- Reenabled HeapTest.GarbageCollectClassLinkerInit which is now passing.
- ImageWriter now GC's before writing an image to avoid garbage.
Change-Id: Ie7d1cc89e0bcf314cb37f0cabcb8593bf6e4d4be
Diffstat (limited to 'src/compiler/codegen/arm/MethodCodegenDriver.cc')
0 files changed, 0 insertions, 0 deletions