Disable compaction.
authorvegorov@chromium.org <vegorov@chromium.org@ce2b1a6d-e550-0410-aec6-3dcde31c8c00>
Mon, 26 Sep 2011 08:53:27 +0000 (08:53 +0000)
committervegorov@chromium.org <vegorov@chromium.org@ce2b1a6d-e550-0410-aec6-3dcde31c8c00>
Mon, 26 Sep 2011 08:53:27 +0000 (08:53 +0000)
Introduce flag to control code compaction.

R=danno@chromium.org

Review URL: http://codereview.chromium.org/8037022

git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@9420 ce2b1a6d-e550-0410-aec6-3dcde31c8c00

src/flag-definitions.h
src/mark-compact.cc

index 358d67e..654c322 100644 (file)
@@ -287,8 +287,9 @@ DEFINE_bool(lazy_sweeping, true,
             "Use lazy sweeping for old pointer and data spaces")
 DEFINE_bool(cleanup_caches_in_maps_at_gc, true,
             "Flush code caches in maps during mark compact cycle.")
-DEFINE_bool(never_compact, false,
+DEFINE_bool(never_compact, true,
             "Never perform compaction on full GC - testing only")
+DEFINE_bool(compact_code_space, true, "Compact code space")
 DEFINE_bool(cleanup_code_caches_at_gc, true,
             "Flush inline caches prior to mark compact collection and "
             "flush code caches in maps during mark compact cycle.")
index 54a2936..e5178ec 100644 (file)
@@ -244,7 +244,10 @@ bool MarkCompactCollector::StartCompaction() {
 
     CollectEvacuationCandidates(heap()->old_pointer_space());
     CollectEvacuationCandidates(heap()->old_data_space());
-    CollectEvacuationCandidates(heap()->code_space());
+
+    if (FLAG_compact_code_space) {
+      CollectEvacuationCandidates(heap()->code_space());
+    }
 
     heap()->old_pointer_space()->EvictEvacuationCandidatesFromFreeLists();
     heap()->old_data_space()->EvictEvacuationCandidatesFromFreeLists();