Sweep the monitor list.

Change-Id: I343261206f8bbabd245b404dd95d532255e5d870
diff --git a/src/intern_table.h b/src/intern_table.h
index c814a1b..d573538 100644
--- a/src/intern_table.h
+++ b/src/intern_table.h
@@ -41,14 +41,7 @@
   // Used when reinitializing InternTable from an image.
   void RegisterStrong(String* s);
 
-  // Removes all weak interns for which the predicate functor 'p' returns true.
-  // (We use an explicit Predicate type rather than a template to keep implementation
-  // out of the header file.)
-  struct Predicate {
-    virtual ~Predicate() {}
-    virtual bool operator()(const String*) const = 0;
-  };
-  void RemoveWeakIf(const Predicate& p);
+  void SweepInternTableWeaks(Heap::IsMarkedTester is_marked, void* arg);
 
   bool ContainsWeak(String* s);