Index: src/heap/incremental-marking.h |
diff --git a/src/heap/incremental-marking.h b/src/heap/incremental-marking.h |
index 8fe341154fa0597113211ccc7dd8387a350a0c34..2173183a22133d444abb8d4d0b282da3b3b30947 100644 |
--- a/src/heap/incremental-marking.h |
+++ b/src/heap/incremental-marking.h |
@@ -26,6 +26,20 @@ class IncrementalMarking { |
enum GCRequestType { COMPLETE_MARKING, OVERAPPROXIMATION }; |
+ struct StepActions { |
+ StepActions( |
+ CompletionAction complete_action_ = NO_GC_VIA_STACK_GUARD, |
ulan
2015/08/04 13:13:31
For readability of the call site, I would prefer p
Michael Lippautz
2015/08/04 13:55:35
Done.
|
+ ForceMarkingAction force_marking_ = DO_NOT_FORCE_MARKING, |
+ ForceCompletionAction force_completion_ = DO_NOT_FORCE_COMPLETION) |
+ : completion_action(complete_action_), |
+ force_marking(force_marking_), |
+ force_completion(force_completion_) {} |
+ |
+ CompletionAction completion_action; |
+ ForceMarkingAction force_marking; |
+ ForceCompletionAction force_completion; |
+ }; |
+ |
explicit IncrementalMarking(Heap* heap); |
static void Initialize(); |
@@ -67,7 +81,8 @@ class IncrementalMarking { |
bool WasActivated(); |
- void Start(int mark_compact_flags); |
+ void Start(int mark_compact_flags, |
+ const GCCallbackFlags gc_callback_flags = kNoGCCallbackFlags); |
void Stop(); |
@@ -185,6 +200,8 @@ class IncrementalMarking { |
Heap* heap() const { return heap_; } |
+ GCCallbackFlags CallbackFlags() const { return gc_callback_flags_; } |
+ |
private: |
int64_t SpaceLeftInOldSpace(); |
@@ -243,6 +260,8 @@ class IncrementalMarking { |
GCRequestType request_type_; |
+ GCCallbackFlags gc_callback_flags_; |
+ |
DISALLOW_IMPLICIT_CONSTRUCTORS(IncrementalMarking); |
}; |
} |