Index: src/stub-cache.cc |
diff --git a/src/stub-cache.cc b/src/stub-cache.cc |
index 4f60c809533c9e9c0f6597f9c694b6ea0a9a62eb..36eee69380de6427cfcc82e0c29052a7ab950187 100644 |
--- a/src/stub-cache.cc |
+++ b/src/stub-cache.cc |
@@ -1188,13 +1188,14 @@ Handle<Code> KeyedLoadStubCompiler::CompileLoadElement( |
receiver_map->has_external_array_elements() || |
receiver_map->has_fixed_typed_array_elements()) { |
Handle<Code> stub = KeyedLoadFastElementStub( |
+ isolate(), |
receiver_map->instance_type() == JS_ARRAY_TYPE, |
elements_kind).GetCode(isolate()); |
__ DispatchMap(receiver(), scratch1(), receiver_map, stub, DO_SMI_CHECK); |
} else { |
Handle<Code> stub = FLAG_compiled_keyed_dictionary_loads |
- ? KeyedLoadDictionaryElementStub().GetCode(isolate()) |
- : KeyedLoadDictionaryElementPlatformStub().GetCode(isolate()); |
+ ? KeyedLoadDictionaryElementStub(isolate()).GetCode(isolate()) |
+ : KeyedLoadDictionaryElementPlatformStub(isolate()).GetCode(isolate()); |
__ DispatchMap(receiver(), scratch1(), receiver_map, stub, DO_SMI_CHECK); |
} |
@@ -1214,11 +1215,13 @@ Handle<Code> KeyedStoreStubCompiler::CompileStoreElement( |
receiver_map->has_external_array_elements() || |
receiver_map->has_fixed_typed_array_elements()) { |
stub = KeyedStoreFastElementStub( |
+ isolate(), |
is_jsarray, |
elements_kind, |
store_mode()).GetCode(isolate()); |
} else { |
- stub = KeyedStoreElementStub(is_jsarray, |
+ stub = KeyedStoreElementStub(isolate(), |
+ is_jsarray, |
elements_kind, |
store_mode()).GetCode(isolate()); |
} |
@@ -1314,13 +1317,15 @@ void KeyedLoadStubCompiler::CompileElementHandlers(MapHandleList* receiver_maps, |
IsExternalArrayElementsKind(elements_kind) || |
IsFixedTypedArrayElementsKind(elements_kind)) { |
cached_stub = |
- KeyedLoadFastElementStub(is_js_array, |
+ KeyedLoadFastElementStub(isolate(), |
+ is_js_array, |
elements_kind).GetCode(isolate()); |
} else if (elements_kind == SLOPPY_ARGUMENTS_ELEMENTS) { |
cached_stub = isolate()->builtins()->KeyedLoadIC_SloppyArguments(); |
} else { |
ASSERT(elements_kind == DICTIONARY_ELEMENTS); |
- cached_stub = KeyedLoadDictionaryElementStub().GetCode(isolate()); |
+ cached_stub = |
+ KeyedLoadDictionaryElementStub(isolate()).GetCode(isolate()); |
} |
} |
@@ -1349,6 +1354,7 @@ Handle<Code> KeyedStoreStubCompiler::CompileStoreElementPolymorphic( |
ElementsKind elements_kind = receiver_map->elements_kind(); |
if (!transitioned_map.is_null()) { |
cached_stub = ElementsTransitionAndStoreStub( |
+ isolate(), |
elements_kind, |
transitioned_map->elements_kind(), |
is_js_array, |
@@ -1360,11 +1366,13 @@ Handle<Code> KeyedStoreStubCompiler::CompileStoreElementPolymorphic( |
receiver_map->has_external_array_elements() || |
receiver_map->has_fixed_typed_array_elements()) { |
cached_stub = KeyedStoreFastElementStub( |
+ isolate(), |
is_js_array, |
elements_kind, |
store_mode()).GetCode(isolate()); |
} else { |
cached_stub = KeyedStoreElementStub( |
+ isolate(), |
is_js_array, |
elements_kind, |
store_mode()).GetCode(isolate()); |