Index: src/ast.cc |
diff --git a/src/ast.cc b/src/ast.cc |
index aeb767ef0c983293cb1b28fb94b1a6efb5aaff44..681b3d46b860784992bac460a5adcc65b592f0dc 100644 |
--- a/src/ast.cc |
+++ b/src/ast.cc |
@@ -137,7 +137,6 @@ Assignment::Assignment(Isolate* isolate, |
value_(value), |
binary_operation_(NULL), |
assignment_id_(GetNextId(isolate)), |
- is_monomorphic_(false), |
is_uninitialized_(false), |
is_pre_monomorphic_(false), |
store_mode_(STANDARD_STORE) { } |
@@ -742,8 +741,10 @@ void CallNew::RecordTypeFeedback(TypeFeedbackOracle* oracle) { |
void ObjectLiteral::Property::RecordTypeFeedback(TypeFeedbackOracle* oracle) { |
TypeFeedbackId id = key()->LiteralFeedbackId(); |
- receiver_type_ = oracle->ObjectLiteralStoreIsMonomorphic(id) |
- ? oracle->GetObjectLiteralStoreMap(id) : Handle<Map>::null(); |
+ SmallMapList maps; |
+ oracle->CollectReceiverTypes(id, &maps); |
+ receiver_type_ = maps.length() == 1 ? maps.at(0) |
+ : Handle<Map>::null(); |
} |