diff options
Diffstat (limited to 'deps/v8/src/objects-printer.cc')
-rw-r--r-- | deps/v8/src/objects-printer.cc | 27 |
1 files changed, 27 insertions, 0 deletions
diff --git a/deps/v8/src/objects-printer.cc b/deps/v8/src/objects-printer.cc index d5c02f4321..38e61386b2 100644 --- a/deps/v8/src/objects-printer.cc +++ b/deps/v8/src/objects-printer.cc @@ -151,6 +151,9 @@ void HeapObject::HeapObjectPrint(FILE* out) { PrintF(out, "Value wrapper around:"); JSValue::cast(this)->value()->Print(out); break; + case JS_DATE_TYPE: + JSDate::cast(this)->value()->Print(out); + break; case CODE_TYPE: Code::cast(this)->CodePrint(out); break; @@ -660,6 +663,30 @@ char* String::ToAsciiArray() { } +static const char* const weekdays[] = { + "???", "Sun", "Mon", "Tue", "Wed", "Thu", "Fri", "Sat" +}; + +void JSDate::JSDatePrint(FILE* out) { + HeapObject::PrintHeader(out, "JSDate"); + PrintF(out, " - map = 0x%p\n", reinterpret_cast<void*>(map())); + PrintF(out, " - value = "); + value()->Print(out); + if (!year()->IsSmi()) { + PrintF(out, " - time = NaN\n"); + } else { + PrintF(out, " - time = %s %04d/%02d/%02d %02d:%02d:%02d\n", + weekdays[weekday()->IsSmi() ? Smi::cast(weekday())->value() + 1 : 0], + year()->IsSmi() ? Smi::cast(year())->value() : -1, + month()->IsSmi() ? Smi::cast(month())->value() : -1, + day()->IsSmi() ? Smi::cast(day())->value() : -1, + hour()->IsSmi() ? Smi::cast(hour())->value() : -1, + min()->IsSmi() ? Smi::cast(min())->value() : -1, + sec()->IsSmi() ? Smi::cast(sec())->value() : -1); + } +} + + void JSProxy::JSProxyPrint(FILE* out) { HeapObject::PrintHeader(out, "JSProxy"); PrintF(out, " - map = 0x%p\n", reinterpret_cast<void*>(map())); |