Version 2.3.11.

Fix bug in RegExp related to copy-on-write arrays.

Refactoring of tools/test.py script, including the introduction of VARIANT_FLAGS that allows specification of sets of flags with which all tests should be run.

Fix a bug in the handling of debug breaks in CallIC.

Performance improvements on all platforms.


git-svn-id: http://v8.googlecode.com/svn/trunk@5345 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
diff --git a/src/heap.cc b/src/heap.cc
index ff92384..6e696e7 100644
--- a/src/heap.cc
+++ b/src/heap.cc
@@ -571,6 +571,22 @@
 }
 
 
+class ClearThreadNormalizedMapCachesVisitor: public ThreadVisitor {
+  virtual void VisitThread(ThreadLocalTop* top) {
+    Context* context = top->context_;
+    if (context == NULL) return;
+    context->global()->global_context()->normalized_map_cache()->Clear();
+  }
+};
+
+
+void Heap::ClearNormalizedMapCaches() {
+  if (Bootstrapper::IsActive()) return;
+  ClearThreadNormalizedMapCachesVisitor visitor;
+  ThreadManager::IterateArchivedThreads(&visitor);
+}
+
+
 #ifdef DEBUG
 
 enum PageWatermarkValidity {
@@ -755,6 +771,8 @@
   CompletelyClearInstanceofCache();
 
   if (is_compacting) FlushNumberStringCache();
+
+  ClearNormalizedMapCaches();
 }