| Index: src/objects-inl.h
|
| diff --git a/src/objects-inl.h b/src/objects-inl.h
|
| index bc6217ba5ebe66ae613719d5c67c06a91952c363..a081b35a3831fa94e968aed59bfed286b303fe97 100644
|
| --- a/src/objects-inl.h
|
| +++ b/src/objects-inl.h
|
| @@ -605,6 +605,7 @@ TYPE_CHECKER(Oddball, ODDBALL_TYPE)
|
| TYPE_CHECKER(JSGlobalPropertyCell, JS_GLOBAL_PROPERTY_CELL_TYPE)
|
| TYPE_CHECKER(SharedFunctionInfo, SHARED_FUNCTION_INFO_TYPE)
|
| TYPE_CHECKER(JSValue, JS_VALUE_TYPE)
|
| +TYPE_CHECKER(JSDate, JS_DATE_TYPE)
|
| TYPE_CHECKER(JSMessageObject, JS_MESSAGE_OBJECT_TYPE)
|
|
|
|
|
| @@ -800,6 +801,11 @@ double Object::Number() {
|
| }
|
|
|
|
|
| +bool Object::IsNaN() {
|
| + return this->IsHeapNumber() && isnan(HeapNumber::cast(this)->value());
|
| +}
|
| +
|
| +
|
| MaybeObject* Object::ToSmi() {
|
| if (IsSmi()) return this;
|
| if (IsHeapNumber()) {
|
| @@ -1425,6 +1431,8 @@ int JSObject::GetHeaderSize() {
|
| return JSFunction::kSize;
|
| case JS_VALUE_TYPE:
|
| return JSValue::kSize;
|
| + case JS_DATE_TYPE:
|
| + return JSDate::kSize;
|
| case JS_ARRAY_TYPE:
|
| return JSArray::kSize;
|
| case JS_WEAK_MAP_TYPE:
|
| @@ -4118,6 +4126,24 @@ JSValue* JSValue::cast(Object* obj) {
|
| }
|
|
|
|
|
| +ACCESSORS(JSDate, value, Object, kValueOffset)
|
| +ACCESSORS(JSDate, cache_stamp, Object, kCacheStampOffset)
|
| +ACCESSORS(JSDate, year, Object, kYearOffset)
|
| +ACCESSORS(JSDate, month, Object, kMonthOffset)
|
| +ACCESSORS(JSDate, day, Object, kDayOffset)
|
| +ACCESSORS(JSDate, hour, Object, kHourOffset)
|
| +ACCESSORS(JSDate, min, Object, kMinOffset)
|
| +ACCESSORS(JSDate, sec, Object, kSecOffset)
|
| +ACCESSORS(JSDate, weekday, Object, kWeekdayOffset)
|
| +
|
| +
|
| +JSDate* JSDate::cast(Object* obj) {
|
| + ASSERT(obj->IsJSDate());
|
| + ASSERT(HeapObject::cast(obj)->Size() == JSDate::kSize);
|
| + return reinterpret_cast<JSDate*>(obj);
|
| +}
|
| +
|
| +
|
| ACCESSORS(JSMessageObject, type, String, kTypeOffset)
|
| ACCESSORS(JSMessageObject, arguments, JSArray, kArgumentsOffset)
|
| ACCESSORS(JSMessageObject, script, Object, kScriptOffset)
|
|
|