Version 1.3.0-dev.7.11

svn merge -c 34647 https://dart.googlecode.com/svn/branches/bleeding_edge trunk

git-svn-id: http://dart.googlecode.com/svn/trunk@34756 260f80e4-7a28-3924-810f-c04153c831b5
diff --git a/runtime/vm/heap.cc b/runtime/vm/heap.cc
index 4888ace..3d19886 100644
--- a/runtime/vm/heap.cc
+++ b/runtime/vm/heap.cc
@@ -207,7 +207,7 @@
       new_space_->Scavenge(invoke_api_callbacks);
       RecordAfterGC();
       PrintStats();
-      if (new_space_->HadPromotionFailure()) {
+      if (new_space_->HadPromotionFailure() || old_space_->NeedExternalGC()) {
         // Old collections should call the API callbacks.
         CollectGarbage(kOld, kInvokeApiCallbacks);
       }
diff --git a/runtime/vm/pages.h b/runtime/vm/pages.h
index 29144bb..320efe3 100644
--- a/runtime/vm/pages.h
+++ b/runtime/vm/pages.h
@@ -221,6 +221,10 @@
     return page_space_controller_.is_enabled();
   }
 
+  bool NeedExternalGC() {
+    return used_in_words_ + ExternalInWords() > max_capacity_in_words_;
+  }
+
   void WriteProtect(bool read_only);
 
   void AddGCTime(int64_t micros) {
diff --git a/tools/VERSION b/tools/VERSION
index 11a6b67..42c6c7d 100644
--- a/tools/VERSION
+++ b/tools/VERSION
@@ -28,4 +28,4 @@
 MINOR 3
 PATCH 0
 PRERELEASE 7
-PRERELEASE_PATCH 10
+PRERELEASE_PATCH 11