Index: src/hydrogen-check-elimination.cc |
diff --git a/src/hydrogen-check-elimination.cc b/src/hydrogen-check-elimination.cc |
index f15267349f2e09af355ad0c900b5814e79095165..6e6a84cc7b3485d64d5813a9288bd58ea7f7e22d 100644 |
--- a/src/hydrogen-check-elimination.cc |
+++ b/src/hydrogen-check-elimination.cc |
@@ -338,7 +338,9 @@ class HCheckTable : public ZoneObject { |
HCheckMaps* check = HCheckMaps::cast(entry->check_); |
TRACE(("CheckMaps #%d at B%d narrowed\n", check->id(), |
check->block()->block_id())); |
+ // Update map set and ensure that the check is alive. |
check->set_map_set(intersection, graph->zone()); |
+ check->ClearFlag(HValue::kIsDead); |
TRACE(("Replacing redundant CheckMaps #%d at B%d with #%d\n", |
instr->id(), instr->block()->block_id(), entry->check_->id())); |
instr->DeleteAndReplaceWith(entry->check_); |