diff options
author | isaacs <i@izs.me> | 2012-03-12 21:46:36 -0700 |
---|---|---|
committer | isaacs <i@izs.me> | 2012-03-12 21:46:36 -0700 |
commit | e4fc2cbfd354d8ad74c465e508531d92de2b4d52 (patch) | |
tree | ce1e20dddced61d5b56750743ddb7304846f537a /deps/v8/src/objects-debug.cc | |
parent | bcb0cc0b184c61313541002e504948ed21f59dad (diff) | |
download | node-new-e4fc2cbfd354d8ad74c465e508531d92de2b4d52.tar.gz |
Upgrade v8 to 3.9.17
Diffstat (limited to 'deps/v8/src/objects-debug.cc')
-rw-r--r-- | deps/v8/src/objects-debug.cc | 50 |
1 files changed, 50 insertions, 0 deletions
diff --git a/deps/v8/src/objects-debug.cc b/deps/v8/src/objects-debug.cc index 7aef91215d..16e03e7548 100644 --- a/deps/v8/src/objects-debug.cc +++ b/deps/v8/src/objects-debug.cc @@ -138,6 +138,9 @@ void HeapObject::HeapObjectVerify() { case JS_VALUE_TYPE: JSValue::cast(this)->JSValueVerify(); break; + case JS_DATE_TYPE: + JSDate::cast(this)->JSDateVerify(); + break; case JS_FUNCTION_TYPE: JSFunction::cast(this)->JSFunctionVerify(); break; @@ -371,6 +374,53 @@ void JSValue::JSValueVerify() { } +void JSDate::JSDateVerify() { + if (value()->IsHeapObject()) { + VerifyHeapPointer(value()); + } + CHECK(value()->IsUndefined() || value()->IsSmi() || value()->IsHeapNumber()); + CHECK(year()->IsUndefined() || year()->IsSmi() || year()->IsNaN()); + CHECK(month()->IsUndefined() || month()->IsSmi() || month()->IsNaN()); + CHECK(day()->IsUndefined() || day()->IsSmi() || day()->IsNaN()); + CHECK(weekday()->IsUndefined() || weekday()->IsSmi() || weekday()->IsNaN()); + CHECK(hour()->IsUndefined() || hour()->IsSmi() || hour()->IsNaN()); + CHECK(min()->IsUndefined() || min()->IsSmi() || min()->IsNaN()); + CHECK(sec()->IsUndefined() || sec()->IsSmi() || sec()->IsNaN()); + CHECK(cache_stamp()->IsUndefined() || + cache_stamp()->IsSmi() || + cache_stamp()->IsNaN()); + + if (month()->IsSmi()) { + int month = Smi::cast(this->month())->value(); + CHECK(0 <= month && month <= 11); + } + if (day()->IsSmi()) { + int day = Smi::cast(this->day())->value(); + CHECK(1 <= day && day <= 31); + } + if (hour()->IsSmi()) { + int hour = Smi::cast(this->hour())->value(); + CHECK(0 <= hour && hour <= 23); + } + if (min()->IsSmi()) { + int min = Smi::cast(this->min())->value(); + CHECK(0 <= min && min <= 59); + } + if (sec()->IsSmi()) { + int sec = Smi::cast(this->sec())->value(); + CHECK(0 <= sec && sec <= 59); + } + if (weekday()->IsSmi()) { + int weekday = Smi::cast(this->weekday())->value(); + CHECK(0 <= weekday && weekday <= 6); + } + if (cache_stamp()->IsSmi()) { + CHECK(Smi::cast(cache_stamp())->value() <= + Smi::cast(Isolate::Current()->date_cache()->stamp())->value()); + } +} + + void JSMessageObject::JSMessageObjectVerify() { CHECK(IsJSMessageObject()); CHECK(type()->IsString()); |