Mark more roots.

This is most of the stuff. (Everything that currently exists, though there's
more to come.)

Change-Id: I235a21b006820a027c494374a5b52ffefed89c32
diff --git a/src/indirect_reference_table.cc b/src/indirect_reference_table.cc
index 32d942f..e3632a6 100644
--- a/src/indirect_reference_table.cc
+++ b/src/indirect_reference_table.cc
@@ -295,6 +295,13 @@
   return true;
 }
 
+void IndirectReferenceTable::VisitRoots(Heap::RootVisitor* visitor, void* arg) {
+  typedef IndirectReferenceTable::iterator It; // TODO: C++0x auto
+  for (It it = begin(), end = this->end(); it != end; ++it) {
+    visitor(**it, arg);
+  }
+}
+
 std::ostream& operator<<(std::ostream& os, IndirectRefKind rhs) {
   switch (rhs) {
   case kSirtOrInvalid: