Index: src/hydrogen-instructions.h |
diff --git a/src/hydrogen-instructions.h b/src/hydrogen-instructions.h |
index 0c3ee1dc081101e47646daa14e0c1beb464f9ceb..3105d9ddfa0644cc7bb71eb14c3553c7488c349e 100644 |
--- a/src/hydrogen-instructions.h |
+++ b/src/hydrogen-instructions.h |
@@ -4421,6 +4421,17 @@ class HMul: public HArithmeticBinaryOperation { |
HValue* left, |
HValue* right); |
+ static HInstruction* NewImul(Zone* zone, |
+ HValue* context, |
+ HValue* left, |
+ HValue* right) { |
+ HMul* mul = new(zone) HMul(context, left, right); |
+ // TODO(mstarzinger): Prevent bailout on minus zero for imul. |
+ mul->AssumeRepresentation(Representation::Integer32()); |
+ mul->ClearFlag(HValue::kCanOverflow); |
+ return mul; |
+ } |
+ |
virtual HValue* EnsureAndPropagateNotMinusZero(BitVector* visited); |
virtual HValue* Canonicalize(); |