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.