Index: src/hydrogen-gvn.cc |
diff --git a/src/hydrogen-gvn.cc b/src/hydrogen-gvn.cc |
index 10826a6023f22a8186cbce7a7c6af2266157c7ce..65c5c3a77b559b7d2152701b8a84f0d4d649898e 100644 |
--- a/src/hydrogen-gvn.cc |
+++ b/src/hydrogen-gvn.cc |
@@ -368,7 +368,7 @@ HGlobalValueNumberingPhase::HGlobalValueNumberingPhase(HGraph* graph) |
removed_side_effects_(false), |
block_side_effects_(graph->blocks()->length(), zone()), |
loop_side_effects_(graph->blocks()->length(), zone()), |
- visited_on_paths_(zone(), graph->blocks()->length()) { |
+ visited_on_paths_(graph->blocks()->length(), zone()) { |
ASSERT(!AllowHandleAllocation::IsAllowed()); |
block_side_effects_.AddBlock(GVNFlagSet(), graph->blocks()->length(), |
zone()); |
@@ -621,7 +621,8 @@ HGlobalValueNumberingPhase::CollectSideEffectsOnPathsToDominatedBlock( |
HBasicBlock* block = dominated->predecessors()->at(i); |
if (dominator->block_id() < block->block_id() && |
block->block_id() < dominated->block_id() && |
- visited_on_paths_.Add(block->block_id())) { |
+ !visited_on_paths_.Contains(block->block_id())) { |
+ visited_on_paths_.Add(block->block_id()); |
side_effects.Add(block_side_effects_[block->block_id()]); |
if (block->IsLoopHeader()) { |
side_effects.Add(loop_side_effects_[block->block_id()]); |