Index: src/ast.cc |
diff --git a/src/ast.cc b/src/ast.cc |
index bf111f81126b44893431a6e085b3e6bf022a9976..964f5bc76e2ea88b9b0f16fac9f167ed3d5bd927 100644 |
--- a/src/ast.cc |
+++ b/src/ast.cc |
@@ -503,7 +503,7 @@ void Assignment::RecordTypeFeedback(TypeFeedbackOracle* oracle, |
// Record receiver type for monomorphic keyed stores. |
receiver_types_.Add(oracle->StoreMonomorphicReceiverType(id), zone); |
store_mode_ = oracle->GetStoreMode(id); |
- } else if (oracle->StoreIsPolymorphic(id)) { |
+ } else if (oracle->StoreIsKeyedPolymorphic(id)) { |
receiver_types_.Reserve(kMaxKeyedPolymorphism, zone); |
oracle->CollectKeyedReceiverTypes(id, &receiver_types_); |
store_mode_ = oracle->GetStoreMode(id); |
@@ -520,9 +520,11 @@ void CountOperation::RecordTypeFeedback(TypeFeedbackOracle* oracle, |
// Record receiver type for monomorphic keyed stores. |
receiver_types_.Add( |
oracle->StoreMonomorphicReceiverType(id), zone); |
- } else if (oracle->StoreIsPolymorphic(id)) { |
+ } else if (oracle->StoreIsKeyedPolymorphic(id)) { |
receiver_types_.Reserve(kMaxKeyedPolymorphism, zone); |
oracle->CollectKeyedReceiverTypes(id, &receiver_types_); |
+ } else { |
+ oracle->CollectPolymorphicStoreReceiverTypes(id, &receiver_types_); |
} |
store_mode_ = oracle->GetStoreMode(id); |
type_ = oracle->IncrementType(this); |