diff options
| author | Ben Murdoch <benm@google.com> | 2012-04-11 10:23:59 +0100 |
|---|---|---|
| committer | Ben Murdoch <benm@google.com> | 2012-04-11 15:40:41 +0100 |
| commit | 5d4cdbf7a67d3662fa0bee4efdb7edd8daec9b0b (patch) | |
| tree | 7b717e53b80c4a64bf9b723aabcf7c909ae3c243 /src/objects-printer.cc | |
| parent | c7cc028aaeedbbfa11c11d0b7b243b3d9e837ed9 (diff) | |
| download | android_external_v8-5d4cdbf7a67d3662fa0bee4efdb7edd8daec9b0b.tar.gz android_external_v8-5d4cdbf7a67d3662fa0bee4efdb7edd8daec9b0b.tar.bz2 android_external_v8-5d4cdbf7a67d3662fa0bee4efdb7edd8daec9b0b.zip | |
Merge V8 3.9 at 3.9.24.9
http://v8.googlecode.com/svn/branches/3.9@11260
Bug: 5688872
Change-Id: Iddd944e82189d92df3fc427dc5f0d3f1b2f0c6c8
Diffstat (limited to 'src/objects-printer.cc')
| -rw-r--r-- | src/objects-printer.cc | 50 |
1 files changed, 48 insertions, 2 deletions
diff --git a/src/objects-printer.cc b/src/objects-printer.cc index eca9bab8..38e61386 100644 --- a/src/objects-printer.cc +++ b/src/objects-printer.cc @@ -1,4 +1,4 @@ -// Copyright 2011 the V8 project authors. All rights reserved. +// Copyright 2012 the V8 project authors. All rights reserved. // Redistribution and use in source and binary forms, with or without // modification, are permitted provided that the following conditions are // met: @@ -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; @@ -554,6 +557,21 @@ void PolymorphicCodeCache::PolymorphicCodeCachePrint(FILE* out) { } +void TypeFeedbackInfo::TypeFeedbackInfoPrint(FILE* out) { + HeapObject::PrintHeader(out, "TypeFeedbackInfo"); + PrintF(out, "\n - ic_total_count: %d, ic_with_typeinfo_count: %d", + ic_total_count(), ic_with_typeinfo_count()); + PrintF(out, "\n - type_feedback_cells: "); + type_feedback_cells()->FixedArrayPrint(out); +} + + +void AliasedArgumentsEntry::AliasedArgumentsEntryPrint(FILE* out) { + HeapObject::PrintHeader(out, "AliasedArgumentsEntry"); + PrintF(out, "\n - aliased_context_slot: %d", aliased_context_slot()); +} + + void FixedArray::FixedArrayPrint(FILE* out) { HeapObject::PrintHeader(out, "FixedArray"); PrintF(out, " - length: %d", length()); @@ -569,7 +587,11 @@ void FixedDoubleArray::FixedDoubleArrayPrint(FILE* out) { HeapObject::PrintHeader(out, "FixedDoubleArray"); PrintF(out, " - length: %d", length()); for (int i = 0; i < length(); i++) { - PrintF(out, "\n [%d]: %g", i, get_scalar(i)); + if (is_the_hole(i)) { + PrintF(out, "\n [%d]: <the hole>", i); + } else { + PrintF(out, "\n [%d]: %g", i, get_scalar(i)); + } } PrintF(out, "\n"); } @@ -641,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())); |
