| Index: src/compiler/typer.cc | 
| diff --git a/src/compiler/typer.cc b/src/compiler/typer.cc | 
| index 5127757f54ad89c54ece7f024ee16e281bebca2c..fb02288be0fdfd9a81f323fc7149cb2b1488755e 100644 | 
| --- a/src/compiler/typer.cc | 
| +++ b/src/compiler/typer.cc | 
| @@ -1734,6 +1734,18 @@ Type* Typer::Visitor::TypeSpeculativeNumberSubtract(Node* node) { | 
| return Type::Number(); | 
| } | 
|  | 
| +Type* Typer::Visitor::TypeSpeculativeNumberMultiply(Node* node) { | 
| +  return Type::Number(); | 
| +} | 
| + | 
| +Type* Typer::Visitor::TypeSpeculativeNumberDivide(Node* node) { | 
| +  return Type::Number(); | 
| +} | 
| + | 
| +Type* Typer::Visitor::TypeSpeculativeNumberModulus(Node* node) { | 
| +  return Type::Number(); | 
| +} | 
| + | 
| Type* Typer::Visitor::TypeNumberMultiply(Node* node) { return Type::Number(); } | 
|  | 
| Type* Typer::Visitor::TypeNumberDivide(Node* node) { return Type::Number(); } | 
| @@ -1920,7 +1932,9 @@ Type* Typer::Visitor::TypeChangeTaggedToFloat64(Node* node) { | 
|  | 
| Type* Typer::Visitor::TypeTruncateTaggedToFloat64(Node* node) { | 
| Type* arg = Operand(node, 0); | 
| -  DCHECK(arg->Is(Type::NumberOrOddball())); | 
| +  // TODO(jarin) This DCHECK does not work because of speculative feedback. | 
| +  // Re-enable once we record the speculative feedback in types. | 
| +  // DCHECK(arg->Is(Type::NumberOrOddball())); | 
| return ChangeRepresentation(arg, Type::UntaggedFloat64(), zone()); | 
| } | 
|  | 
|  |