Allow incremental marking when expose_gc is turned on.
authorhpayer@chromium.org <hpayer@chromium.org@ce2b1a6d-e550-0410-aec6-3dcde31c8c00>
Wed, 28 Nov 2012 08:43:10 +0000 (08:43 +0000)
committerhpayer@chromium.org <hpayer@chromium.org@ce2b1a6d-e550-0410-aec6-3dcde31c8c00>
Wed, 28 Nov 2012 08:43:10 +0000 (08:43 +0000)
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

src/extensions/gc-extension.cc
src/heap.cc
src/incremental-marking.cc

index 813b921..2282075 100644 (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();
 }
index a7c7b34..84b0f22 100644 (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();
   }
 
index e420d28..8cdcdb5 100644 (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;
 }