Version 3.4.10

Fixed debugger not breaking on certain "if" statements (issue 1523).

Fixed assertion failure in runtime profiler when running on IA32 without snapshot (issue 1522).

Fixed ABI for API calls on IA32 (for clang compatibility).

Introduced code flushing of RegExp code to free memory used by RegExps sooner.

Fixed linux-tick-processor built wrong version of v8 (issue 1532).

Fixed assertion failure in v8::TryCache::StackTrace (issue 1529).

Performance improvements on all platforms.

git-svn-id: http://v8.googlecode.com/svn/trunk@8550 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
diff --git a/src/heap.cc b/src/heap.cc
index 2aca68d..508bdf3 100644
--- a/src/heap.cc
+++ b/src/heap.cc
@@ -97,6 +97,7 @@
 // Will be 4 * reserved_semispace_size_ to ensure that young
 // generation can be aligned to its size.
       survived_since_last_expansion_(0),
+      sweep_generation_(0),
       always_allocate_scope_depth_(0),
       linear_allocation_scope_depth_(0),
       contexts_disposed_(0),
@@ -742,7 +743,7 @@
   if (collector == MARK_COMPACTOR) {
     // Perform mark-sweep with optional compaction.
     MarkCompact(tracer);
-
+    sweep_generation_++;
     bool high_survival_rate_during_scavenges = IsHighSurvivalRate() &&
         IsStableOrIncreasingSurvivalTrend();
 
@@ -1305,6 +1306,10 @@
                     &ObjectEvacuationStrategy<POINTER_OBJECT>::
                         template VisitSpecialized<SharedFunctionInfo::kSize>);
 
+    table_.Register(kVisitJSRegExp,
+                    &ObjectEvacuationStrategy<POINTER_OBJECT>::
+                    Visit);
+
     table_.Register(kVisitJSFunction,
                     &ObjectEvacuationStrategy<POINTER_OBJECT>::
                         template VisitSpecialized<JSFunction::kSize>);