Index: src/ic/ic.cc |
diff --git a/src/ic/ic.cc b/src/ic/ic.cc |
index 17614fa4ec8f1249f4ff8cdae77356d377a15869..37fbf44843327d1e1112fb5da14cd3058d80d298 100644 |
--- a/src/ic/ic.cc |
+++ b/src/ic/ic.cc |
@@ -1431,8 +1431,9 @@ Handle<Code> StoreIC::initialize_stub_in_optimized_code( |
return stub.GetCode(); |
} |
- return PropertyICCompiler::ComputeStore(isolate, initialization_state, |
- ComputeExtraICState(language_mode)); |
+ return is_strict(language_mode) |
+ ? isolate->builtins()->StoreIC_Megamorphic_Strict() |
+ : isolate->builtins()->StoreIC_Megamorphic(); |
} |
Handle<Code> StoreIC::slow_stub() const { |
@@ -1631,8 +1632,8 @@ void KeyedStoreIC::UpdateStoreElement(Handle<Map> receiver_map, |
ComputeTransitionedMap(receiver_map, store_mode); |
store_mode = GetNonTransitioningStoreMode(store_mode); |
Handle<Code> handler = |
- PropertyICCompiler::ComputeKeyedStoreMonomorphicHandler( |
- monomorphic_map, language_mode(), store_mode); |
+ PropertyICCompiler::ComputeKeyedStoreMonomorphicHandler(monomorphic_map, |
+ store_mode); |
return ConfigureVectorState(Handle<Name>(), monomorphic_map, handler); |
} |
@@ -1658,7 +1659,7 @@ void KeyedStoreIC::UpdateStoreElement(Handle<Map> receiver_map, |
store_mode = GetNonTransitioningStoreMode(store_mode); |
Handle<Code> handler = |
PropertyICCompiler::ComputeKeyedStoreMonomorphicHandler( |
- transitioned_receiver_map, language_mode(), store_mode); |
+ transitioned_receiver_map, store_mode); |
ConfigureVectorState(Handle<Name>(), transitioned_receiver_map, handler); |
return; |
} |
@@ -1671,8 +1672,8 @@ void KeyedStoreIC::UpdateStoreElement(Handle<Map> receiver_map, |
// grow at the end of the array, handle OOB accesses or copy COW arrays |
// and still stay MONOMORPHIC. |
Handle<Code> handler = |
- PropertyICCompiler::ComputeKeyedStoreMonomorphicHandler( |
- receiver_map, language_mode(), store_mode); |
+ PropertyICCompiler::ComputeKeyedStoreMonomorphicHandler(receiver_map, |
+ store_mode); |
return ConfigureVectorState(Handle<Name>(), receiver_map, handler); |
} |
} |
@@ -1733,8 +1734,7 @@ void KeyedStoreIC::UpdateStoreElement(Handle<Map> receiver_map, |
MapHandleList transitioned_maps(target_receiver_maps.length()); |
CodeHandleList handlers(target_receiver_maps.length()); |
PropertyICCompiler::ComputeKeyedStorePolymorphicHandlers( |
- &target_receiver_maps, &transitioned_maps, &handlers, store_mode, |
- language_mode()); |
+ &target_receiver_maps, &transitioned_maps, &handlers, store_mode); |
ConfigureVectorState(&target_receiver_maps, &transitioned_maps, &handlers); |
} |