diff options
Diffstat (limited to 'deps/v8/src/objects-debug.cc')
-rw-r--r-- | deps/v8/src/objects-debug.cc | 32 |
1 files changed, 19 insertions, 13 deletions
diff --git a/deps/v8/src/objects-debug.cc b/deps/v8/src/objects-debug.cc index 5883f8b343..c0e5610aba 100644 --- a/deps/v8/src/objects-debug.cc +++ b/deps/v8/src/objects-debug.cc @@ -40,31 +40,37 @@ namespace internal { static const char* TypeToString(InstanceType type); -void Object::Print() { - if (IsSmi()) { - Smi::cast(this)->SmiPrint(); - } else if (IsFailure()) { - Failure::cast(this)->FailurePrint(); +void MaybeObject::Print() { + Object* this_as_object; + if (ToObject(&this_as_object)) { + if (this_as_object->IsSmi()) { + Smi::cast(this_as_object)->SmiPrint(); + } else { + HeapObject::cast(this_as_object)->HeapObjectPrint(); + } } else { - HeapObject::cast(this)->HeapObjectPrint(); + Failure::cast(this)->FailurePrint(); } Flush(); } -void Object::PrintLn() { +void MaybeObject::PrintLn() { Print(); PrintF("\n"); } -void Object::Verify() { - if (IsSmi()) { - Smi::cast(this)->SmiVerify(); - } else if (IsFailure()) { - Failure::cast(this)->FailureVerify(); +void MaybeObject::Verify() { + Object* this_as_object; + if (ToObject(&this_as_object)) { + if (this_as_object->IsSmi()) { + Smi::cast(this_as_object)->SmiVerify(); + } else { + HeapObject::cast(this_as_object)->HeapObjectVerify(); + } } else { - HeapObject::cast(this)->HeapObjectVerify(); + Failure::cast(this)->FailureVerify(); } } |