Chromium Code Reviews| 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) |
|
rossberg
2012/03/06 15:55:50
Nit: reorder for consistency.
ulan
2012/03/07 10:55:21
Done.
|
| + |
| + |
| +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) |