Make it easier to run an optimized build, turn the GC timings back on, and remove some unnecessary code.

The Class* field is a regular instance field now, so no need to scan it twice.
We do our null checking in ScanObject, so we don't need to duplicate the checks
in each child.

Also count the number of class, array, and other objects we scan.

Change-Id: I9034708d5e0e1edffaccf3cad4785c5fccf3b38e
diff --git a/src/mark_sweep.h b/src/mark_sweep.h
index 8c37456..22aad15 100644
--- a/src/mark_sweep.h
+++ b/src/mark_sweep.h
@@ -22,7 +22,8 @@
       weak_reference_list_(NULL),
       finalizer_reference_list_(NULL),
       phantom_reference_list_(NULL),
-      cleared_reference_list_(NULL) {
+      cleared_reference_list_(NULL),
+      class_count_(0), array_count_(0), other_count_(0) {
   }
 
   ~MarkSweep();
@@ -138,6 +139,10 @@
 
   Object* cleared_reference_list_;
 
+  size_t class_count_;
+  size_t array_count_;
+  size_t other_count_;
+
   friend class InternTableEntryIsUnmarked;
 
   DISALLOW_COPY_AND_ASSIGN(MarkSweep);