Index: src/hydrogen-minus-zero.cc |
diff --git a/src/hydrogen-minus-zero.cc b/src/hydrogen-minus-zero.cc |
index 28ae6eba40188fee141aeb80b4100109272bba08..316e0f5077cc0ed011d3b284563fef71e394dafe 100644 |
--- a/src/hydrogen-minus-zero.cc |
+++ b/src/hydrogen-minus-zero.cc |
@@ -49,6 +49,14 @@ void HComputeMinusZeroChecksPhase::Run() { |
PropagateMinusZeroChecks(change->value()); |
visited_.Clear(); |
} |
+ } else if (current->IsCompareMinusZeroAndBranch()) { |
+ HCompareMinusZeroAndBranch* check = |
+ HCompareMinusZeroAndBranch::cast(current); |
+ if (check->value()->representation().IsSmiOrInteger32()) { |
+ ASSERT(visited_.IsEmpty()); |
+ PropagateMinusZeroChecks(check->value()); |
+ visited_.Clear(); |
+ } |
} |
} |
} |