Reduce memory usage due to fixpoint iteration of GVN.
authorbmeurer@chromium.org <bmeurer@chromium.org@ce2b1a6d-e550-0410-aec6-3dcde31c8c00>
Thu, 6 Feb 2014 09:54:59 +0000 (09:54 +0000)
committerbmeurer@chromium.org <bmeurer@chromium.org@ce2b1a6d-e550-0410-aec6-3dcde31c8c00>
Thu, 6 Feb 2014 09:54:59 +0000 (09:54 +0000)
R=hpayer@chromium.org

Review URL: https://codereview.chromium.org/153533003

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

src/hydrogen-gvn.cc

index 905fd86..0628ff7 100644 (file)
@@ -378,13 +378,13 @@ HGlobalValueNumberingPhase::HGlobalValueNumberingPhase(HGraph* graph)
 
 
 void HGlobalValueNumberingPhase::Reset() {
-  block_side_effects_.Clear();
-  loop_side_effects_.Clear();
+  ASSERT(block_side_effects_.length() == graph()->blocks()->length());
+  ASSERT(loop_side_effects_.length() == graph()->blocks()->length());
+  for (int i = 0; i < graph()->blocks()->length(); ++i) {
+    block_side_effects_[i] = GVNFlagSet();
+    loop_side_effects_[i] = GVNFlagSet();
+  }
   visited_on_paths_.Clear();
-  block_side_effects_.AddBlock(GVNFlagSet(), graph()->blocks()->length(),
-                               zone());
-  loop_side_effects_.AddBlock(GVNFlagSet(), graph()->blocks()->length(),
-                              zone());
 }