Revision: 15286
Author:   [email protected]
Date:     Mon Jun 24 05:39:02 2013
Log:      Deprecate one virtual marking visitor for mark-compact GC.

[email protected]

Review URL: https://codereview.chromium.org/17546005
http://code.google.com/p/v8/source/detail?r=15286

Modified:
 /branches/bleeding_edge/src/mark-compact.cc
 /branches/bleeding_edge/src/mark-compact.h

=======================================
--- /branches/bleeding_edge/src/mark-compact.cc Fri Jun 14 09:06:12 2013
+++ /branches/bleeding_edge/src/mark-compact.cc Mon Jun 24 05:39:02 2013
@@ -1713,23 +1713,6 @@
     MarkCompactMarkingVisitor::non_count_table_;


-class MarkingVisitor : public ObjectVisitor {
- public:
-  explicit MarkingVisitor(Heap* heap) : heap_(heap) { }
-
-  void VisitPointer(Object** p) {
-    MarkCompactMarkingVisitor::VisitPointer(heap_, p);
-  }
-
-  void VisitPointers(Object** start, Object** end) {
-    MarkCompactMarkingVisitor::VisitPointers(heap_, start, end);
-  }
-
- private:
-  Heap* heap_;
-};
-
-
 class CodeMarkingVisitor : public ThreadVisitor {
  public:
   explicit CodeMarkingVisitor(MarkCompactCollector* collector)
@@ -2038,14 +2021,13 @@
 }


-void MarkCompactCollector::MarkStringTable() {
+void MarkCompactCollector::MarkStringTable(RootMarkingVisitor* visitor) {
   StringTable* string_table = heap()->string_table();
   // Mark the string table itself.
   MarkBit string_table_mark = Marking::MarkBitFrom(string_table);
   SetMark(string_table, string_table_mark);
   // Explicitly mark the prefix.
-  MarkingVisitor marker(heap());
-  string_table->IteratePrefix(&marker);
+  string_table->IteratePrefix(visitor);
   ProcessMarkingDeque();
 }

@@ -2056,7 +2038,7 @@
   heap()->IterateStrongRoots(visitor, VISIT_ONLY_STRONG);

   // Handle the string table specially.
-  MarkStringTable();
+  MarkStringTable(visitor);

   // There may be overflowed objects in the heap.  Visit them now.
   while (marking_deque_.overflowed()) {
@@ -3291,10 +3273,8 @@
   bool code_slots_filtering_required;
   { GCTracer::Scope gc_scope(tracer_, GCTracer::Scope::MC_SWEEP_NEWSPACE);
     code_slots_filtering_required = MarkInvalidatedCode();
-
     EvacuateNewSpace();
   }
-

   { GCTracer::Scope gc_scope(tracer_, GCTracer::Scope::MC_EVACUATE_PAGES);
     EvacuatePages();
=======================================
--- /branches/bleeding_edge/src/mark-compact.h  Tue Jun  4 10:20:06 2013
+++ /branches/bleeding_edge/src/mark-compact.h  Mon Jun 24 05:39:02 2013
@@ -835,7 +835,7 @@

// Mark the string table specially. References to internalized strings from
   // the string table are weak.
-  void MarkStringTable();
+  void MarkStringTable(RootMarkingVisitor* visitor);

   // Mark objects in implicit references groups if their parent object
   // is marked.

--
--
v8-dev mailing list
[email protected]
http://groups.google.com/group/v8-dev
--- You received this message because you are subscribed to the Google Groups "v8-dev" group.
To unsubscribe from this group and stop receiving emails from it, send an email 
to [email protected].
For more options, visit https://groups.google.com/groups/opt_out.


Reply via email to