Version 3.7.12

Increase tick interval for the android platform.

Fix a bug in the register allocator. (chromium:105112)

Fix handling of recompiling code. (chromium:105375, v8:1782)

Start incremental marking on idle notification. (v8:1458)

Build fixes for various platforms.

Various performance improvements.

git-svn-id: http://v8.googlecode.com/svn/trunk@10105 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
diff --git a/src/incremental-marking.cc b/src/incremental-marking.cc
index 0f29f73..dd54c63 100644
--- a/src/incremental-marking.cc
+++ b/src/incremental-marking.cc
@@ -743,7 +743,9 @@
   if (FLAG_trace_incremental_marking) {
     PrintF("[IncrementalMarking] Complete (normal).\n");
   }
-  heap_->isolate()->stack_guard()->RequestGC();
+  if (!heap_->idle_notification_will_schedule_next_gc()) {
+    heap_->isolate()->stack_guard()->RequestGC();
+  }
 }
 
 
@@ -771,8 +773,7 @@
   }
 
   if (state_ == SWEEPING) {
-    if (heap_->old_pointer_space()->AdvanceSweeper(bytes_to_process) &&
-        heap_->old_data_space()->AdvanceSweeper(bytes_to_process)) {
+    if (heap_->AdvanceSweepers(static_cast<int>(bytes_to_process))) {
       bytes_scanned_ = 0;
       StartMarking(PREVENT_COMPACTION);
     }