Index: src/ic/ic-compiler.cc |
diff --git a/src/ic/ic-compiler.cc b/src/ic/ic-compiler.cc |
index 2001b6ef40ba0c3b650763e4e461607155d7fe48..e89cb4b9d6e787e8239ca75caac4b8818c164cc2 100644 |
--- a/src/ic/ic-compiler.cc |
+++ b/src/ic/ic-compiler.cc |
@@ -83,8 +83,11 @@ void PropertyICCompiler::CompileKeyedStorePolymorphicHandlers( |
for (int i = 0; i < receiver_maps->length(); ++i) { |
Handle<Map> receiver_map(receiver_maps->at(i)); |
Handle<Code> cached_stub; |
- Handle<Map> transitioned_map = |
- Map::FindTransitionedMap(receiver_map, receiver_maps); |
+ Handle<Map> transitioned_map; |
+ { |
+ Map* tmap = receiver_map->FindElementsKindTransitionedMap(receiver_maps); |
+ if (tmap != nullptr) transitioned_map = handle(tmap); |
+ } |
// TODO(mvstanton): The code below is doing pessimistic elements |
// transitions. I would like to stop doing that and rely on Allocation Site |