Index: src/compiler/typer.cc |
diff --git a/src/compiler/typer.cc b/src/compiler/typer.cc |
index 3c5533c564298fb3e5b9b02f25e61fc55653ef63..543a40a47f604b89dd0e5ad6a710a5873c4b01cc 100644 |
--- a/src/compiler/typer.cc |
+++ b/src/compiler/typer.cc |
@@ -1335,6 +1335,27 @@ Type* Typer::Visitor::JSCallFunctionTyper(Type* fun, Typer* t) { |
return Type::Signed32(); |
case kMathClz32: |
return t->cache_.kZeroToThirtyTwo; |
+ // Date functions. |
+ case kDateGetFullYear: |
+ return Type::Union(Type::Range(-271821.0, 275760.0, t->zone()), |
+ Type::NaN(), t->zone()); |
+ case kDateGetDate: |
+ return Type::Union(Type::Range(1.0, 31.0, t->zone()), Type::NaN(), |
+ t->zone()); |
+ case kDateGetHours: |
+ return Type::Union(Type::Range(0.0, 23.0, t->zone()), Type::NaN(), |
+ t->zone()); |
+ case kDateGetMilliseconds: |
+ return Type::Union(Type::Range(0.0, 59.0, t->zone()), Type::NaN(), |
+ t->zone()); |
+ case kDateGetMonth: |
+ return Type::Union(Type::Range(0.0, 11.0, t->zone()), Type::NaN(), |
+ t->zone()); |
+ case kDateGetSeconds: |
+ return Type::Union(Type::Range(0.0, 59.0, t->zone()), Type::NaN(), |
+ t->zone()); |
+ case kDateGetTime: |
+ return t->cache_.kJSDateValueType; |
// Number functions. |
case kNumberParseInt: |
return t->cache_.kIntegerOrMinusZeroOrNaN; |