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

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

Issue 2321553002: [heap] Do more incremental marking work in tasks. (Closed)
Patch Set: address comment Created 4 years, 3 months 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 | « src/heap/heap.cc ('k') | 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 9886f318387faa74d8fb550188648b9047d42651..d15ec37363fbf26216dd9556ffebc62fe4ce5e7e 100644
--- a/src/heap/incremental-marking.h
+++ b/src/heap/incremental-marking.h
@@ -20,6 +20,8 @@ namespace internal {
class MarkBit;
class PagedSpace;
+enum class StepOrigin { kV8, kTask };
+
class IncrementalMarking {
public:
enum State { STOPPED, SWEEPING, MARKING, COMPLETE };
@@ -97,7 +99,8 @@ class IncrementalMarking {
// anymore because a single step would exceed the deadline.
double AdvanceIncrementalMarking(double deadline_in_ms,
CompletionAction completion_action,
- ForceCompletionAction force_completion);
+ ForceCompletionAction force_completion,
+ StepOrigin step_origin);
// 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
@@ -129,7 +132,7 @@ class IncrementalMarking {
void NotifyAllocatedBytes(intptr_t allocated_bytes);
void Step(intptr_t bytes_to_process, CompletionAction action,
- ForceCompletionAction completion);
+ ForceCompletionAction completion, StepOrigin origin);
inline void RestartIfNotMarking();
@@ -294,6 +297,7 @@ class IncrementalMarking {
intptr_t bytes_scanned_;
intptr_t allocated_;
intptr_t write_barriers_invoked_since_last_step_;
+ intptr_t bytes_marked_ahead_of_schedule_;
size_t idle_marking_delay_counter_;
int unscanned_bytes_of_large_object_;
« no previous file with comments | « src/heap/heap.cc ('k') | src/heap/incremental-marking.cc » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698