vendor/v8/src/objects-printer.cc in libv8-3.10.8.0 vs vendor/v8/src/objects-printer.cc in libv8-3.11.8.0

- old
+ new

@@ -316,30 +316,35 @@ void JSObject::PrintElements(FILE* out) { // Don't call GetElementsKind, its validation code can cause the printer to // fail when debugging. switch (map()->elements_kind()) { - case FAST_SMI_ONLY_ELEMENTS: + case FAST_HOLEY_SMI_ELEMENTS: + case FAST_SMI_ELEMENTS: + case FAST_HOLEY_ELEMENTS: case FAST_ELEMENTS: { // Print in array notation for non-sparse arrays. FixedArray* p = FixedArray::cast(elements()); for (int i = 0; i < p->length(); i++) { PrintF(out, " %d: ", i); p->get(i)->ShortPrint(out); PrintF(out, "\n"); } break; } + case FAST_HOLEY_DOUBLE_ELEMENTS: case FAST_DOUBLE_ELEMENTS: { // Print in array notation for non-sparse arrays. - FixedDoubleArray* p = FixedDoubleArray::cast(elements()); - for (int i = 0; i < p->length(); i++) { - if (p->is_the_hole(i)) { - PrintF(out, " %d: <the hole>", i); - } else { - PrintF(out, " %d: %g", i, p->get_scalar(i)); + if (elements()->length() > 0) { + FixedDoubleArray* p = FixedDoubleArray::cast(elements()); + for (int i = 0; i < p->length(); i++) { + if (p->is_the_hole(i)) { + PrintF(out, " %d: <the hole>", i); + } else { + PrintF(out, " %d: %g", i, p->get_scalar(i)); + } + PrintF(out, "\n"); } - PrintF(out, "\n"); } break; } case EXTERNAL_PIXEL_ELEMENTS: { ExternalPixelArray* p = ExternalPixelArray::cast(elements());