Reviewers: jochen (slow),

Description:
Use incremental marking deque in idle notification.

BUG=

Please review this at https://codereview.chromium.org/766663006/

Base URL: https://chromium.googlesource.com/v8/v8.git@master

Affected files (+3, -8 lines):
  M src/heap/heap.cc
  M src/heap/incremental-marking.h
  M src/heap/mark-compact.h
  M src/heap/mark-compact.cc


Index: src/heap/heap.cc
diff --git a/src/heap/heap.cc b/src/heap/heap.cc
index ddc12be50dac327a66c90ac0bfc1234f56d5b109..6599e5750c02733591d968fa364b6625570dc5a0 100644
--- a/src/heap/heap.cc
+++ b/src/heap/heap.cc
@@ -4389,7 +4389,7 @@ void Heap::TryFinalizeIdleIncrementalMarking(
     size_t idle_time_in_ms, size_t size_of_objects,
     size_t final_incremental_mark_compact_speed_in_bytes_per_ms) {
   if (incremental_marking()->IsComplete() ||
-      (mark_compact_collector()->IsMarkingDequeEmpty() &&
+      (incremental_marking()->IsMarkingDequeEmpty() &&
        gc_idle_time_handler_.ShouldDoFinalIncrementalMarkCompact(
            idle_time_in_ms, size_of_objects,
            final_incremental_mark_compact_speed_in_bytes_per_ms))) {
Index: src/heap/incremental-marking.h
diff --git a/src/heap/incremental-marking.h b/src/heap/incremental-marking.h
index 96f8c6b0b8959b2427c8aca482cf13be9e04fa73..132eff224b8445910c8c2c88cefdfb4b7fbbcdb7 100644
--- a/src/heap/incremental-marking.h
+++ b/src/heap/incremental-marking.h
@@ -146,6 +146,8 @@ class IncrementalMarking {

   MarkingDeque* marking_deque() { return &marking_deque_; }

+  bool IsMarkingDequeEmpty() { return marking_deque_.IsEmpty(); }
+
   bool IsCompacting() { return IsMarking() && is_compacting_; }

   void ActivateGeneratedStub(Code* stub);
Index: src/heap/mark-compact.cc
diff --git a/src/heap/mark-compact.cc b/src/heap/mark-compact.cc
index 09eba59d3331f8e04497e7c3786163f8220c791f..847bdac1263db4c9de13aa624e934bb5edcbcdba 100644
--- a/src/heap/mark-compact.cc
+++ b/src/heap/mark-compact.cc
@@ -1944,11 +1944,6 @@ void MarkCompactCollector::MarkAllocationSite(AllocationSite* site) {
 }


-bool MarkCompactCollector::IsMarkingDequeEmpty() {
-  return marking_deque_.IsEmpty();
-}
-
-
 void MarkCompactCollector::MarkRoots(RootMarkingVisitor* visitor) {
   // Mark the heap roots including global variables, stack variables,
   // etc., and all objects reachable from them.
Index: src/heap/mark-compact.h
diff --git a/src/heap/mark-compact.h b/src/heap/mark-compact.h
index 1b399f3c5eef19661ec5ff3275f109c8f563e49b..b1ad5b8a80ee6547e9a03708a473a46c913822ce 100644
--- a/src/heap/mark-compact.h
+++ b/src/heap/mark-compact.h
@@ -655,8 +655,6 @@ class MarkCompactCollector {
   // to artificially keep AllocationSites alive for a time.
   void MarkAllocationSite(AllocationSite* site);

-  bool IsMarkingDequeEmpty();
-
  private:
   class SweeperTask;



--
--
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/d/optout.

Reply via email to