Index: src/objects-printer.cc |
diff --git a/src/objects-printer.cc b/src/objects-printer.cc |
index 9e7cc25d0b9b592dc36a827c38269599e18ecaae..f1ca6212b07575a98d81e17a3f8dbb907d18ab8c 100644 |
--- a/src/objects-printer.cc |
+++ b/src/objects-printer.cc |
@@ -335,29 +335,32 @@ void JSObject::PrintProperties(std::ostream& os) { // NOLINT |
os << "\n "; |
descs->GetKey(i)->NamePrint(os); |
os << ": "; |
- switch (descs->GetType(i)) { |
- case DATA: { |
- FieldIndex index = FieldIndex::ForDescriptor(map(), i); |
- if (IsUnboxedDoubleField(index)) { |
- os << "<unboxed double> " << RawFastDoublePropertyAt(index); |
+ PropertyDetails details = descs->GetDetails(i); |
+ FieldIndex field_index; |
+ switch (details.location()) { |
+ case kField: { |
+ field_index = FieldIndex::ForDescriptor(map(), i); |
+ if (IsUnboxedDoubleField(field_index)) { |
+ os << "<unboxed double> " << RawFastDoublePropertyAt(field_index); |
} else { |
- os << Brief(RawFastPropertyAt(index)); |
+ os << Brief(RawFastPropertyAt(field_index)); |
} |
- os << " (data field at offset " << index.property_index() << ")"; |
break; |
} |
- case ACCESSOR: { |
- FieldIndex index = FieldIndex::ForDescriptor(map(), i); |
- os << " (accessor field at offset " << index.property_index() << ")"; |
+ case kDescriptor: |
+ os << Brief(descs->GetValue(i)); |
break; |
- } |
- case DATA_CONSTANT: |
- os << Brief(descs->GetConstant(i)) << " (data constant)"; |
+ } |
+ os << " (" << (details.kind() == kData ? "data" : "accessor"); |
+ switch (details.location()) { |
+ case kField: { |
+ os << " field at offset " << field_index.property_index(); |
break; |
- case ACCESSOR_CONSTANT: |
- os << Brief(descs->GetCallbacksObject(i)) << " (accessor constant)"; |
+ } |
+ case kDescriptor: |
break; |
} |
+ os << ")"; |
} |
} else if (IsJSGlobalObject()) { |
global_dictionary()->Print(os); |
@@ -1425,7 +1428,7 @@ void AllocationSite::AllocationSitePrint(std::ostream& os) { // NOLINT |
} else if (transition_info()->IsJSArray()) { |
os << "Array literal " << Brief(transition_info()); |
} else { |
- os << "unknown transition_info" << Brief(transition_info()); |
+ os << "unknown transition_info " << Brief(transition_info()); |
} |
os << "\n"; |
} |
@@ -1643,8 +1646,10 @@ void TransitionArray::PrintTransitions(std::ostream& os, Object* transitions, |
Object* value = |
target->instance_descriptors()->GetValue(target->LastAdded()); |
os << " " << Brief(value); |
+ } else { |
+ os << " field"; |
} |
- os << "), attrs: " << details.attributes(); |
+ os << ", attrs: " << details.attributes() << ")"; |
} |
os << " -> " << Brief(target); |
} |