Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(387)

Unified Diff: src/heap/incremental-marking.h

Issue 2472043002: Revert of [heap] Invoke incremental marking step before allocation. (Closed)
Patch Set: Created 4 years, 1 month ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View side-by-side diff with in-line comments
Download patch
« no previous file with comments | « no previous file | src/heap/incremental-marking.cc » ('j') | no next file with comments »
Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
Index: src/heap/incremental-marking.h
diff --git a/src/heap/incremental-marking.h b/src/heap/incremental-marking.h
index 7f255244b508287889752e60bff10d17d4980350..c2290c4d8206ee39907d7d327baca35cb9e5db46 100644
--- a/src/heap/incremental-marking.h
+++ b/src/heap/incremental-marking.h
@@ -99,7 +99,6 @@
CompletionAction completion_action,
ForceCompletionAction force_completion,
StepOrigin step_origin);
- void AdvanceIncrementalMarkingOnAllocation();
// It's hard to know how much work the incremental marker should do to make
// progress in the face of the mutator creating new work for it. We start
@@ -219,6 +218,20 @@
void AbortBlackAllocation();
private:
+ class Observer : public AllocationObserver {
+ public:
+ Observer(IncrementalMarking& incremental_marking, intptr_t step_size)
+ : AllocationObserver(step_size),
+ incremental_marking_(incremental_marking) {}
+
+ void Step(int bytes_allocated, Address, size_t) override {
+ incremental_marking_.AdvanceIncrementalMarkingOnAllocation();
+ }
+
+ private:
+ IncrementalMarking& incremental_marking_;
+ };
+
int64_t SpaceLeftInOldSpace();
void StartMarking();
@@ -256,6 +269,8 @@
void IncrementIdleMarkingDelayCounter();
+ void AdvanceIncrementalMarkingOnAllocation();
+
size_t StepSizeToKeepUpWithAllocations();
size_t StepSizeToMakeProgress();
@@ -282,6 +297,8 @@
GCRequestType request_type_;
IncrementalMarkingJob incremental_marking_job_;
+ Observer new_generation_observer_;
+ Observer old_generation_observer_;
DISALLOW_IMPLICIT_CONSTRUCTORS(IncrementalMarking);
};
« no previous file with comments | « no previous file | src/heap/incremental-marking.cc » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698