Index: src/stub-cache.cc |
diff --git a/src/stub-cache.cc b/src/stub-cache.cc |
index 6e68314be7ebd9299ceda913e2d95737e3641c40..51c716d4ed9e5e83592d5ebe8b5756fd0d3b5d05 100644 |
--- a/src/stub-cache.cc |
+++ b/src/stub-cache.cc |
@@ -1551,7 +1551,8 @@ Handle<Code> KeyedLoadStubCompiler::CompileLoadElement( |
Handle<Map> receiver_map) { |
ElementsKind elements_kind = receiver_map->elements_kind(); |
if (receiver_map->has_fast_elements() || |
- receiver_map->has_external_array_elements()) { |
+ receiver_map->has_external_array_elements() || |
+ receiver_map->has_fixed_typed_array_elements()) { |
Handle<Code> stub = KeyedLoadFastElementStub( |
receiver_map->instance_type() == JS_ARRAY_TYPE, |
elements_kind).GetCode(isolate()); |
@@ -1576,7 +1577,8 @@ Handle<Code> KeyedStoreStubCompiler::CompileStoreElement( |
bool is_jsarray = receiver_map->instance_type() == JS_ARRAY_TYPE; |
Handle<Code> stub; |
if (receiver_map->has_fast_elements() || |
- receiver_map->has_external_array_elements()) { |
+ receiver_map->has_external_array_elements() || |
+ receiver_map->has_fixed_typed_array_elements()) { |
stub = KeyedStoreFastElementStub( |
is_jsarray, |
elements_kind, |
@@ -1672,7 +1674,8 @@ void KeyedLoadStubCompiler::CompileElementHandlers(MapHandleList* receiver_maps, |
ElementsKind elements_kind = receiver_map->elements_kind(); |
if (IsFastElementsKind(elements_kind) || |
- IsExternalArrayElementsKind(elements_kind)) { |
+ IsExternalArrayElementsKind(elements_kind) || |
+ IsFixedTypedArrayElementsKind(elements_kind)) { |
cached_stub = |
KeyedLoadFastElementStub(is_js_array, |
elements_kind).GetCode(isolate()); |
@@ -1713,7 +1716,8 @@ Handle<Code> KeyedStoreStubCompiler::CompileStoreElementPolymorphic( |
store_mode()).GetCode(isolate()); |
} else { |
if (receiver_map->has_fast_elements() || |
- receiver_map->has_external_array_elements()) { |
+ receiver_map->has_external_array_elements() || |
+ receiver_map->has_fixed_typed_array_elements()) { |
cached_stub = KeyedStoreFastElementStub( |
is_js_array, |
elements_kind, |