| Index: src/objects-printer.cc
|
| diff --git a/src/objects-printer.cc b/src/objects-printer.cc
|
| index 6e80515253c885ed672cf57a789b04825d60b092..aac79a65a86a6f9a410ea52754d44ef4e1f893e4 100644
|
| --- a/src/objects-printer.cc
|
| +++ b/src/objects-printer.cc
|
| @@ -315,12 +315,25 @@ void JSObject::PrintProperties(FILE* out) {
|
| descs->GetCallbacksObject(i)->ShortPrint(out);
|
| PrintF(out, " (callback)\n");
|
| break;
|
| - case ELEMENTS_TRANSITION:
|
| + case ELEMENTS_TRANSITION: {
|
| PrintF(out, "(elements transition to ");
|
| - PrintElementsKind(out,
|
| - Map::cast(descs->GetValue(i))->elements_kind());
|
| + Object* descriptor_contents = descs->GetValue(i);
|
| + if (descriptor_contents->IsMap()) {
|
| + Map* map = Map::cast(descriptor_contents);
|
| + PrintElementsKind(out, map->elements_kind());
|
| + } else {
|
| + FixedArray* map_array = FixedArray::cast(descriptor_contents);
|
| + for (int i = 0; i < map_array->length(); ++i) {
|
| + Map* map = Map::cast(map_array->get(i));
|
| + if (i != 0) {
|
| + PrintF(out, ", ");
|
| + }
|
| + PrintElementsKind(out, map->elements_kind());
|
| + }
|
| + }
|
| PrintF(out, ")\n");
|
| break;
|
| + }
|
| case MAP_TRANSITION:
|
| PrintF(out, "(map transition)\n");
|
| break;
|
|
|