Index: src/hydrogen-instructions.h |
diff --git a/src/hydrogen-instructions.h b/src/hydrogen-instructions.h |
index c36388ee6abd359898fe1f57134b8e9f19311d81..e5f5692feb7e8a634c0b1458cda0abca4b3e697b 100644 |
--- a/src/hydrogen-instructions.h |
+++ b/src/hydrogen-instructions.h |
@@ -4972,7 +4972,9 @@ class HSar: public HBitwiseBinaryOperation { |
virtual void UpdateRepresentation(Representation new_rep, |
HInferRepresentationPhase* h_infer, |
const char* reason) { |
- if (new_rep.IsSmi()) new_rep = Representation::Integer32(); |
+ if (new_rep.IsSmi() && !right()->IsConstant()) { |
+ new_rep = Representation::Integer32(); |
+ } |
HBitwiseBinaryOperation::UpdateRepresentation(new_rep, h_infer, reason); |
} |