Commit 62ef558d authored by hpayer@chromium.org's avatar hpayer@chromium.org

Enable incremental marking when --expose-gc is turned on.

BUG=
R=mstarzinger@chromium.org, ulan@chromium.org

Review URL: https://codereview.chromium.org/139343007

git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@18691 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
parent e06d4730
...@@ -45,8 +45,8 @@ void GCExtension::GC(const v8::FunctionCallbackInfo<v8::Value>& args) { ...@@ -45,8 +45,8 @@ void GCExtension::GC(const v8::FunctionCallbackInfo<v8::Value>& args) {
isolate->heap()->CollectGarbage( isolate->heap()->CollectGarbage(
NEW_SPACE, "gc extension", v8::kGCCallbackFlagForced); NEW_SPACE, "gc extension", v8::kGCCallbackFlagForced);
} else { } else {
isolate->heap()->CollectAllGarbage( isolate->heap()->CollectAllGarbage(Heap::kAbortIncrementalMarkingMask,
Heap::kNoGCFlags, "gc extension", v8::kGCCallbackFlagForced); "gc extension", v8::kGCCallbackFlagForced);
} }
} }
......
...@@ -5619,7 +5619,7 @@ bool Heap::IdleNotification(int hint) { ...@@ -5619,7 +5619,7 @@ bool Heap::IdleNotification(int hint) {
return false; return false;
} }
if (!FLAG_incremental_marking || FLAG_expose_gc || Serializer::enabled()) { if (!FLAG_incremental_marking || Serializer::enabled()) {
return IdleGlobalGC(); return IdleGlobalGC();
} }
......
...@@ -498,12 +498,10 @@ bool IncrementalMarking::WorthActivating() { ...@@ -498,12 +498,10 @@ bool IncrementalMarking::WorthActivating() {
// debug tests run with incremental marking and some without. // debug tests run with incremental marking and some without.
static const intptr_t kActivationThreshold = 0; static const intptr_t kActivationThreshold = 0;
#endif #endif
// Only start incremental marking in a safe state: 1) when expose GC is // Only start incremental marking in a safe state: 1) when incremental
// deactivated, 2) when incremental marking is turned on, 3) when we are // marking is turned on, 2) when we are currently not in a GC, and
// currently not in a GC, and 4) when we are currently not serializing // 3) when we are currently not serializing or deserializing the heap.
// or deserializing the heap. return FLAG_incremental_marking &&
return !FLAG_expose_gc &&
FLAG_incremental_marking &&
FLAG_incremental_marking_steps && FLAG_incremental_marking_steps &&
heap_->gc_state() == Heap::NOT_IN_GC && heap_->gc_state() == Heap::NOT_IN_GC &&
!Serializer::enabled() && !Serializer::enabled() &&
......
...@@ -4121,7 +4121,6 @@ void MarkCompactCollector::SweepSpaces() { ...@@ -4121,7 +4121,6 @@ void MarkCompactCollector::SweepSpaces() {
if (FLAG_parallel_sweeping) how_to_sweep = PARALLEL_CONSERVATIVE; if (FLAG_parallel_sweeping) how_to_sweep = PARALLEL_CONSERVATIVE;
if (FLAG_concurrent_sweeping) how_to_sweep = CONCURRENT_CONSERVATIVE; if (FLAG_concurrent_sweeping) how_to_sweep = CONCURRENT_CONSERVATIVE;
} }
if (FLAG_expose_gc) how_to_sweep = CONSERVATIVE;
if (sweep_precisely_) how_to_sweep = PRECISE; if (sweep_precisely_) how_to_sweep = PRECISE;
// Unlink evacuation candidates before sweeper threads access the list of // Unlink evacuation candidates before sweeper threads access the list of
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment