Index: src/ic/ic.cc |
diff --git a/src/ic/ic.cc b/src/ic/ic.cc |
index 37fbf44843327d1e1112fb5da14cd3058d80d298..17614fa4ec8f1249f4ff8cdae77356d377a15869 100644 |
--- a/src/ic/ic.cc |
+++ b/src/ic/ic.cc |
@@ -1431,9 +1431,8 @@ |
return stub.GetCode(); |
} |
- return is_strict(language_mode) |
- ? isolate->builtins()->StoreIC_Megamorphic_Strict() |
- : isolate->builtins()->StoreIC_Megamorphic(); |
+ return PropertyICCompiler::ComputeStore(isolate, initialization_state, |
+ ComputeExtraICState(language_mode)); |
} |
Handle<Code> StoreIC::slow_stub() const { |
@@ -1632,8 +1631,8 @@ |
ComputeTransitionedMap(receiver_map, store_mode); |
store_mode = GetNonTransitioningStoreMode(store_mode); |
Handle<Code> handler = |
- PropertyICCompiler::ComputeKeyedStoreMonomorphicHandler(monomorphic_map, |
- store_mode); |
+ PropertyICCompiler::ComputeKeyedStoreMonomorphicHandler( |
+ monomorphic_map, language_mode(), store_mode); |
return ConfigureVectorState(Handle<Name>(), monomorphic_map, handler); |
} |
@@ -1659,7 +1658,7 @@ |
store_mode = GetNonTransitioningStoreMode(store_mode); |
Handle<Code> handler = |
PropertyICCompiler::ComputeKeyedStoreMonomorphicHandler( |
- transitioned_receiver_map, store_mode); |
+ transitioned_receiver_map, language_mode(), store_mode); |
ConfigureVectorState(Handle<Name>(), transitioned_receiver_map, handler); |
return; |
} |
@@ -1672,8 +1671,8 @@ |
// 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, |
- store_mode); |
+ PropertyICCompiler::ComputeKeyedStoreMonomorphicHandler( |
+ receiver_map, language_mode(), store_mode); |
return ConfigureVectorState(Handle<Name>(), receiver_map, handler); |
} |
} |
@@ -1734,7 +1733,8 @@ |
MapHandleList transitioned_maps(target_receiver_maps.length()); |
CodeHandleList handlers(target_receiver_maps.length()); |
PropertyICCompiler::ComputeKeyedStorePolymorphicHandlers( |
- &target_receiver_maps, &transitioned_maps, &handlers, store_mode); |
+ &target_receiver_maps, &transitioned_maps, &handlers, store_mode, |
+ language_mode()); |
ConfigureVectorState(&target_receiver_maps, &transitioned_maps, &handlers); |
} |