summaryrefslogtreecommitdiffstats
path: root/src/mark_sweep.cc
diff options
context:
space:
mode:
authorBrian Carlstrom <bdc@google.com>2011-07-26 16:40:23 -0700
committerBrian Carlstrom <bdc@google.com>2011-07-26 18:50:03 -0700
commit4a96b60e45fba4a9d4a2e9c8fc849660eacef684 (patch)
tree4c48587a07fdafd7438d8b2b34bee3d5a8dfbea2 /src/mark_sweep.cc
parent2ed144c2b49ae1da6c464d7a1be0062870530802 (diff)
downloadart-4a96b60e45fba4a9d4a2e9c8fc849660eacef684.zip
art-4a96b60e45fba4a9d4a2e9c8fc849660eacef684.tar.gz
art-4a96b60e45fba4a9d4a2e9c8fc849660eacef684.tar.bz2
ClassLinker can now FindClass all libcore classes
Summary: - added ClassLinkerTest/LibCore test of finding all libcore classes - fixed bug in LinkInterfaceMethods appending mirant methods to vtable_ - fixed bug in LinkVirtualMethods allocating subclass vtable_ - fixed mmap bug in MarkStack::Init - bumped default (and max) heap sizes to handle ClassLinkerTest/LibCore - made ObjectArray a templated class - heap allocate Class::vtable_ - "mm test-art" and "mm test-art-target" added - new is_host_ for use by tests Details: Added support for "mm test-art" and "mm test-art-target" in addition to test-art-host Android.mk Made ObjectArray a template class for clearer declarations and to remove need the need for down_cast. src/object.h src/object_test.cc src/class_linker.cc src/class_linker.h src/dex_cache.cc src/dex_cache.h src/dex_cache_test.cc src/mark_sweep.cc Made Class::vtable_ a heap allocated ObjectArray<Method> src/class_linker.cc Fix bug in ClassLinker::LinkInterfaceMethods where we were not extending the vtable_ before appending miranda methods. src/class_linker.cc Changed all uses of DexFile* in ClassLinker to be const src/class_linker.cc src/class_linker.h Fix bug in ClassLinker::LinkVirtualMethods where we were using NumVirtualMethods vs vtable->GetLength when determining new max vtable_ length. src/class_linker.cc New ClassLinkerTest/LibCore that enumerates the libcore dex file and tries to FindClass every descriptor found. src/class_linker_test.cc Added if_host_ check for host only tests. In the future will use for picking proper location of files, etc. on host vs target. src/common_test.h Fixed test to use ClassLinker::AllocDexCache src/dex_cache_test.cc Fixed fooIds comments to foo_ids_ src/dex_file.h Bumped default heap size (and max as well) to make ClassLinkerTest/LibCore run src/heap.h Fixed bug where we were not using MAP_ANONYMOUS for MarkStack allocation found running ClassLinkerTest/LibCore. src/mark_stack.cc Change-Id: I204e2ec7205210e2b60f5b81d126ab6e1da5a71c
Diffstat (limited to 'src/mark_sweep.cc')
-rw-r--r--src/mark_sweep.cc2
1 files changed, 1 insertions, 1 deletions
diff --git a/src/mark_sweep.cc b/src/mark_sweep.cc
index 196c83c..2cfb0c6 100644
--- a/src/mark_sweep.cc
+++ b/src/mark_sweep.cc
@@ -206,7 +206,7 @@ void MarkSweep::ScanArray(const Object *obj) {
DCHECK(obj->GetClass() != NULL);
MarkObject(obj->GetClass());
if (obj->IsObjectArray()) {
- const ObjectArray* array = obj->AsObjectArray();
+ const ObjectArray<Object>* array = obj->AsObjectArray();
for (size_t i = 0; i < array->GetLength(); ++i) {
const Object* element = array->Get(i);
MarkObject(element);