Allow incremental marking when expose_gc is turned on.

BUG=

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

git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@13072 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
This commit is contained in:
hpayer@chromium.org 2012-11-28 08:43:10 +00:00
parent 09b1574baa
commit c772d649cf
3 changed files with 4 additions and 6 deletions

View File

@ -43,7 +43,7 @@ v8::Handle<v8::Value> GCExtension::GC(const v8::Arguments& args) {
if (args[0]->BooleanValue()) {
HEAP->CollectGarbage(NEW_SPACE, "gc extension");
} else {
HEAP->CollectAllGarbage(Heap::kNoGCFlags, "gc extension");
HEAP->CollectAllGarbage(Heap::kAbortIncrementalMarkingMask, "gc extension");
}
return v8::Undefined();
}

View File

@ -5322,8 +5322,7 @@ bool Heap::IdleNotification(int hint) {
AgeInlineCaches();
}
int mark_sweep_time = Min(TimeMarkSweepWouldTakeInMs(), 1000);
if (hint >= mark_sweep_time && !FLAG_expose_gc &&
incremental_marking()->IsStopped()) {
if (hint >= mark_sweep_time && incremental_marking()->IsStopped()) {
HistogramTimerScope scope(isolate_->counters()->gc_context());
CollectAllGarbage(kReduceMemoryFootprintMask,
"idle notification: contexts disposed");
@ -5342,7 +5341,7 @@ bool Heap::IdleNotification(int hint) {
return false;
}
if (!FLAG_incremental_marking || FLAG_expose_gc || Serializer::enabled()) {
if (!FLAG_incremental_marking || Serializer::enabled()) {
return IdleGlobalGC();
}

View File

@ -493,8 +493,7 @@ bool IncrementalMarking::WorthActivating() {
static const intptr_t kActivationThreshold = 0;
#endif
return !FLAG_expose_gc &&
FLAG_incremental_marking &&
return FLAG_incremental_marking &&
!Serializer::enabled() &&
heap_->PromotedSpaceSizeOfObjects() > kActivationThreshold;
}