Each space has its own bitmap(s)
Each alloc space now has One mark+live bitmap. Each image space has only one live bitmap.
Change-Id: I2e919d1bd7d9f4d35d0e95ed83a58df6f754df6e
diff --git a/src/class_linker.cc b/src/class_linker.cc
index 2b20aff..dfed6f7 100644
--- a/src/class_linker.cc
+++ b/src/class_linker.cc
@@ -48,6 +48,7 @@
#include "scoped_jni_thread_state.h"
#include "ScopedLocalRef.h"
#include "space.h"
+#include "space_bitmap.h"
#include "stack_indirect_reference_table.h"
#include "stl_util.h"
#include "thread.h"
@@ -916,11 +917,11 @@
AppendToBootClassPath(*dex_file, dex_cache);
}
- HeapBitmap* heap_bitmap = heap->GetLiveBits();
- DCHECK(heap_bitmap != NULL);
-
// reinit clases_ table
- heap_bitmap->Walk(InitFromImageCallback, this);
+ const Spaces& vec = heap->GetSpaces();
+ for (Spaces::const_iterator cur = vec.begin(); cur != vec.end(); ++cur) {
+ (*cur)->GetLiveBitmap()->Walk(InitFromImageCallback, this);
+ }
// reinit class_roots_
Object* class_roots_object =