| Index: src/runtime.cc
|
| diff --git a/src/runtime.cc b/src/runtime.cc
|
| index 53c048e9a786fa9d4cb0e3c11412fd96f5cc56a6..ae2693efdaca3b1b8b3f512990cd8a5019665c2a 100644
|
| --- a/src/runtime.cc
|
| +++ b/src/runtime.cc
|
| @@ -8603,43 +8603,48 @@ static void CollectElementIndices(Handle<JSObject> object,
|
| int dense_elements_length;
|
| switch (kind) {
|
| case JSObject::EXTERNAL_PIXEL_ELEMENTS: {
|
| - dense_elements_length =
|
| - ExternalPixelArray::cast(object->elements())->length();
|
| + dense_elements_length =
|
| + ExternalPixelArray::cast(object->elements())->length();
|
| break;
|
| }
|
| case JSObject::EXTERNAL_BYTE_ELEMENTS: {
|
| - dense_elements_length =
|
| - ExternalByteArray::cast(object->elements())->length();
|
| + dense_elements_length =
|
| + ExternalByteArray::cast(object->elements())->length();
|
| break;
|
| }
|
| case JSObject::EXTERNAL_UNSIGNED_BYTE_ELEMENTS: {
|
| - dense_elements_length =
|
| - ExternalUnsignedByteArray::cast(object->elements())->length();
|
| + dense_elements_length =
|
| + ExternalUnsignedByteArray::cast(object->elements())->length();
|
| break;
|
| }
|
| case JSObject::EXTERNAL_SHORT_ELEMENTS: {
|
| - dense_elements_length =
|
| - ExternalShortArray::cast(object->elements())->length();
|
| + dense_elements_length =
|
| + ExternalShortArray::cast(object->elements())->length();
|
| break;
|
| }
|
| case JSObject::EXTERNAL_UNSIGNED_SHORT_ELEMENTS: {
|
| - dense_elements_length =
|
| - ExternalUnsignedShortArray::cast(object->elements())->length();
|
| + dense_elements_length =
|
| + ExternalUnsignedShortArray::cast(object->elements())->length();
|
| break;
|
| }
|
| case JSObject::EXTERNAL_INT_ELEMENTS: {
|
| - dense_elements_length =
|
| - ExternalIntArray::cast(object->elements())->length();
|
| + dense_elements_length =
|
| + ExternalIntArray::cast(object->elements())->length();
|
| break;
|
| }
|
| case JSObject::EXTERNAL_UNSIGNED_INT_ELEMENTS: {
|
| - dense_elements_length =
|
| - ExternalUnsignedIntArray::cast(object->elements())->length();
|
| + dense_elements_length =
|
| + ExternalUnsignedIntArray::cast(object->elements())->length();
|
| break;
|
| }
|
| case JSObject::EXTERNAL_FLOAT_ELEMENTS: {
|
| - dense_elements_length =
|
| - ExternalFloatArray::cast(object->elements())->length();
|
| + dense_elements_length =
|
| + ExternalFloatArray::cast(object->elements())->length();
|
| + break;
|
| + }
|
| + case JSObject::EXTERNAL_DOUBLE_ELEMENTS: {
|
| + dense_elements_length =
|
| + ExternalDoubleArray::cast(object->elements())->length();
|
| break;
|
| }
|
| default:
|
| @@ -8773,6 +8778,11 @@ static bool IterateElements(Isolate* isolate,
|
| isolate, receiver, false, false, visitor);
|
| break;
|
| }
|
| + case JSObject::EXTERNAL_DOUBLE_ELEMENTS: {
|
| + IterateExternalArrayElements<ExternalDoubleArray, double>(
|
| + isolate, receiver, false, false, visitor);
|
| + break;
|
| + }
|
| default:
|
| UNREACHABLE();
|
| break;
|
|
|