Reviewers: Jakob,

Description:
Merged r13072 into trunk branch.

Allow incremental marking when expose_gc is turned on.

[email protected]


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

SVN Base: https://v8.googlecode.com/svn/trunk

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


Index: src/extensions/gc-extension.cc
diff --git a/src/extensions/gc-extension.cc b/src/extensions/gc-extension.cc
index 813b9219bfec7eacd0638cf002c8abb368bba3d2..2282075445adba3950ae5c53599926469886c20a 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::kNoGCFlags, "gc extension");
+ HEAP->CollectAllGarbage(Heap::kAbortIncrementalMarkingMask, "gc extension");
   }
   return v8::Undefined();
 }
Index: src/heap.cc
diff --git a/src/heap.cc b/src/heap.cc
index c394a2c60b7a4177e43691c211826112118fe8b0..97fd1f8fe3768619c6b6a137844656ca65356af6 100644
--- a/src/heap.cc
+++ b/src/heap.cc
@@ -5318,8 +5318,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");
@@ -5338,7 +5337,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: src/incremental-marking.cc
diff --git a/src/incremental-marking.cc b/src/incremental-marking.cc
index e420d28521ec26de2f7a01151e3ade68a28c6235..8cdcdb5e5e4364102baee95166d7424fa7a503dc 100644
--- a/src/incremental-marking.cc
+++ b/src/incremental-marking.cc
@@ -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;
 }
Index: src/version.cc
diff --git a/src/version.cc b/src/version.cc
index 932c048f03dd3235c2493eaddcef6665e546b760..b9ca7b1da69ebb1a79fb85ea7e190b5de06a24de 100644
--- a/src/version.cc
+++ b/src/version.cc
@@ -35,7 +35,7 @@
 #define MAJOR_VERSION     3
 #define MINOR_VERSION     15
 #define BUILD_NUMBER      6
-#define PATCH_LEVEL       0
+#define PATCH_LEVEL       1
 // Use 1 for candidates and 0 otherwise.
 // (Boolean macro values are not supported by all preprocessors.)
 #define IS_CANDIDATE_VERSION 0


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

Reply via email to