Add HeapTest and make GC work enough to pass it
Change-Id: If06eaef2921b64b3226bfd347acaec60ec993e67
diff --git a/src/mark_sweep.h b/src/mark_sweep.h
index 5f374ae..00bfc4c 100644
--- a/src/mark_sweep.h
+++ b/src/mark_sweep.h
@@ -15,7 +15,13 @@
class MarkSweep {
public:
MarkSweep() :
- finger_(NULL), condemned_(NULL) {
+ finger_(NULL),
+ condemned_(NULL),
+ soft_reference_list_(NULL),
+ weak_reference_list_(NULL),
+ finalizer_reference_list_(NULL),
+ phantom_reference_list_(NULL),
+ cleared_reference_list_(NULL) {
}
~MarkSweep();
@@ -48,6 +54,8 @@
return mark_bitmap_->Test(object);
}
+ static void MarkObjectVisitor(Object* root, void* arg);
+
// Marks an object.
void MarkObject(const Object* obj);
@@ -140,16 +148,6 @@
Object* cleared_reference_list_;
- static size_t reference_referent_offset_;
-
- static size_t reference_queue_offset_;
-
- static size_t reference_queueNext_offset_;
-
- static size_t reference_pendingNext_offset_;
-
- static size_t finalizer_reference_zombie_offset_;
-
DISALLOW_COPY_AND_ASSIGN(MarkSweep);
};