Index: src/incremental-marking.h |
diff --git a/src/incremental-marking.h b/src/incremental-marking.h |
index 4f8fa6b1275b0995a919503972c6ed8b360daaa5..1110d5336009d9e778333b8191c10132b31c1df3 100644 |
--- a/src/incremental-marking.h |
+++ b/src/incremental-marking.h |
@@ -46,6 +46,11 @@ class IncrementalMarking { |
COMPLETE |
}; |
+ enum Finalizer { |
Michael Starzinger
2012/04/02 09:01:46
The name "finalizer" feels wrong. Can we change th
ulan
2012/04/02 09:42:24
Done.
|
+ GC_VIA_STACK_GUARD, |
+ NO_GC_VIA_STACK_GUARD |
+ }; |
+ |
explicit IncrementalMarking(Heap* heap); |
void TearDown(); |
@@ -82,7 +87,7 @@ class IncrementalMarking { |
void Abort(); |
- void MarkingComplete(); |
+ void MarkingComplete(Finalizer finalizer); |
// 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 |
@@ -105,7 +110,7 @@ class IncrementalMarking { |
Step(allocated * kFastMarking / kInitialAllocationMarkingFactor); |
} |
- void Step(intptr_t allocated); |
+ void Step(intptr_t allocated, Finalizer finalizer = GC_VIA_STACK_GUARD); |
Michael Starzinger
2012/04/02 09:01:46
There are only three other call-sites, could we ge
ulan
2012/04/02 09:42:24
Done.
|
inline void RestartIfNotMarking() { |
if (state_ == COMPLETE) { |