| Index: src/runtime.cc
|
| diff --git a/src/runtime.cc b/src/runtime.cc
|
| index 4d84a153fc68cdba17ce52bf9295e65abfcd3df4..1e846bc7cafba069cf382a1683eb6cc9c334f164 100644
|
| --- a/src/runtime.cc
|
| +++ b/src/runtime.cc
|
| @@ -5225,7 +5225,8 @@ Handle<Object> Runtime::SetObjectProperty(Isolate* isolate,
|
| }
|
|
|
| js_object->ValidateElements();
|
| - if (js_object->HasExternalArrayElements()) {
|
| + if (js_object->HasExternalArrayElements() ||
|
| + js_object->HasFixedTypedArrayElements()) {
|
| if (!value->IsNumber() && !value->IsUndefined()) {
|
| bool has_exception;
|
| Handle<Object> number =
|
| @@ -10024,6 +10025,15 @@ static uint32_t EstimateElementCount(Handle<JSArray> array) {
|
| case EXTERNAL_FLOAT_ELEMENTS:
|
| case EXTERNAL_DOUBLE_ELEMENTS:
|
| case EXTERNAL_PIXEL_ELEMENTS:
|
| + case UINT8_ELEMENTS:
|
| + case INT8_ELEMENTS:
|
| + case UINT16_ELEMENTS:
|
| + case INT16_ELEMENTS:
|
| + case UINT32_ELEMENTS:
|
| + case INT32_ELEMENTS:
|
| + case FLOAT32_ELEMENTS:
|
| + case FLOAT64_ELEMENTS:
|
| + case UINT8_CLAMPED_ELEMENTS:
|
| // External arrays are always dense.
|
| return length;
|
| }
|
|
|