// TODO(titzer): no feedback from vector ICs from stores.
return NoChange();
} else {
- oracle()->PropertyReceiverTypes(id, name, &maps);
+ oracle()->AssignmentReceiverTypes(id, name, &maps);
}
Node* receiver = node->InputAt(0);
}
-void TypeFeedbackOracle::PropertyReceiverTypes(TypeFeedbackId id,
- Handle<Name> name,
- SmallMapList* receiver_types) {
- receiver_types->Clear();
- Code::Flags flags = Code::ComputeHandlerFlags(Code::LOAD_IC);
- CollectReceiverTypes(id, name, flags, receiver_types);
-}
-
-
bool TypeFeedbackOracle::HasOnlyStringMaps(SmallMapList* receiver_types) {
bool all_strings = receiver_types->length() > 0;
for (int i = 0; i < receiver_types->length(); i++) {
}
-void TypeFeedbackOracle::KeyedPropertyReceiverTypes(
- TypeFeedbackId id,
- SmallMapList* receiver_types,
- bool* is_string,
- IcCheckType* key_type) {
- receiver_types->Clear();
- CollectReceiverTypes(id, receiver_types);
- *is_string = HasOnlyStringMaps(receiver_types);
- GetLoadKeyType(id, key_type);
-}
-
-
void TypeFeedbackOracle::PropertyReceiverTypes(FeedbackVectorICSlot slot,
Handle<Name> name,
SmallMapList* receiver_types) {
IcCheckType* key_type);
void GetLoadKeyType(TypeFeedbackId id, IcCheckType* key_type);
- void PropertyReceiverTypes(TypeFeedbackId id, Handle<Name> name,
- SmallMapList* receiver_types);
void PropertyReceiverTypes(FeedbackVectorICSlot slot, Handle<Name> name,
SmallMapList* receiver_types);
- void KeyedPropertyReceiverTypes(TypeFeedbackId id,
- SmallMapList* receiver_types,
- bool* is_string,
- IcCheckType* key_type);
void KeyedPropertyReceiverTypes(FeedbackVectorICSlot slot,
SmallMapList* receiver_types, bool* is_string,
IcCheckType* key_type);