Index: bleeding_edge/src/heap.cc |
=================================================================== |
--- bleeding_edge/src/heap.cc (revision 3374) |
+++ bleeding_edge/src/heap.cc (working copy) |
@@ -2901,6 +2901,11 @@ |
last_gc_count = gc_count_; |
} else if (number_idle_notifications == kIdlesBeforeMarkSweep) { |
+ // Before doing the mark-sweep collections we clear the |
+ // compilation cache to avoid hanging on to source code and |
+ // generated code for cached functions. |
+ CompilationCache::Clear(); |
+ |
CollectAllGarbage(false); |
new_space_.Shrink(); |
last_gc_count = gc_count_; |