Version 3.7.11

Fixed bug when generating padding to ensure space for lazy deoptimization. (issue 1846)

Further reduced pause times due to GC.

Stability and performance improvements on all platforms.

git-svn-id: http://v8.googlecode.com/svn/trunk@10089 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
diff --git a/src/serialize.cc b/src/serialize.cc
index e3a84c8..d0a1a63 100644
--- a/src/serialize.cc
+++ b/src/serialize.cc
@@ -669,6 +669,14 @@
 
   isolate_->heap()->set_global_contexts_list(
       isolate_->heap()->undefined_value());
+
+  // Update data pointers to the external strings containing natives sources.
+  for (int i = 0; i < Natives::GetBuiltinsCount(); i++) {
+    Object* source = isolate_->heap()->natives_source_cache()->get(i);
+    if (!source->IsUndefined()) {
+      ExternalAsciiString::cast(source)->update_data_cache();
+    }
+  }
 }
 
 
@@ -1564,7 +1572,6 @@
         sink_->Put(kNativesStringResource, "NativesStringResource");
         sink_->PutSection(i, "NativesStringResourceEnd");
         bytes_processed_so_far_ += sizeof(resource);
-        string->clear_data_cache();
         return;
       }
     }