Reviewers: Hannes Payer,

Description:
Revert "Allow incremental marking when expose_gc is turned on."

This reverts r13072 from bleeding edge.

[email protected]

Please review this at https://codereview.chromium.org/11316268/

SVN Base: https://v8.googlecode.com/svn/branches/bleeding_edge

Affected files:
  M src/extensions/gc-extension.cc
  M src/heap.cc
  M src/incremental-marking.cc


Index: src/extensions/gc-extension.cc
diff --git a/src/extensions/gc-extension.cc b/src/extensions/gc-extension.cc
index 2282075445adba3950ae5c53599926469886c20a..813b9219bfec7eacd0638cf002c8abb368bba3d2 100644
--- a/src/extensions/gc-extension.cc
+++ b/src/extensions/gc-extension.cc
@@ -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::kAbortIncrementalMarkingMask, "gc extension");
+    HEAP->CollectAllGarbage(Heap::kNoGCFlags, "gc extension");
   }
   return v8::Undefined();
 }
Index: src/heap.cc
diff --git a/src/heap.cc b/src/heap.cc
index b31564f3638e40ad74acf8cc61a965c6185669c9..ff791d83387b6b9dfba56e560633f2163c4a36d3 100644
--- a/src/heap.cc
+++ b/src/heap.cc
@@ -5323,7 +5323,8 @@ bool Heap::IdleNotification(int hint) {
       AgeInlineCaches();
     }
     int mark_sweep_time = Min(TimeMarkSweepWouldTakeInMs(), 1000);
-    if (hint >= mark_sweep_time && incremental_marking()->IsStopped()) {
+    if (hint >= mark_sweep_time && !FLAG_expose_gc &&
+        incremental_marking()->IsStopped()) {
       HistogramTimerScope scope(isolate_->counters()->gc_context());
       CollectAllGarbage(kReduceMemoryFootprintMask,
                         "idle notification: contexts disposed");
@@ -5338,7 +5339,7 @@ bool Heap::IdleNotification(int hint) {
     return false;
   }

-  if (!FLAG_incremental_marking || Serializer::enabled()) {
+ if (!FLAG_incremental_marking || FLAG_expose_gc || Serializer::enabled()) {
     return IdleGlobalGC();
   }

Index: src/incremental-marking.cc
diff --git a/src/incremental-marking.cc b/src/incremental-marking.cc
index 8cdcdb5e5e4364102baee95166d7424fa7a503dc..e420d28521ec26de2f7a01151e3ade68a28c6235 100644
--- a/src/incremental-marking.cc
+++ b/src/incremental-marking.cc
@@ -493,7 +493,8 @@ bool IncrementalMarking::WorthActivating() {
   static const intptr_t kActivationThreshold = 0;
 #endif

-  return FLAG_incremental_marking &&
+  return !FLAG_expose_gc &&
+      FLAG_incremental_marking &&
       !Serializer::enabled() &&
       heap_->PromotedSpaceSizeOfObjects() > kActivationThreshold;
 }


--
v8-dev mailing list
[email protected]
http://groups.google.com/group/v8-dev

Reply via email to