Index: src/type-info.cc |
diff --git a/src/type-info.cc b/src/type-info.cc |
index 8289d91125f5c3012b4552dc4b729da4b8770fa1..058ad4cf8f11480f07776c72e9489393e32b68ca 100644 |
--- a/src/type-info.cc |
+++ b/src/type-info.cc |
@@ -280,7 +280,8 @@ |
receiver_types->Clear(); |
if (!slot.IsInvalid()) { |
LoadICNexus nexus(feedback_vector_, slot); |
- CollectReceiverTypes(isolate()->load_stub_cache(), &nexus, name, |
+ Code::Flags flags = Code::ComputeHandlerFlags(Code::LOAD_IC); |
+ CollectReceiverTypes(isolate()->load_stub_cache(), &nexus, name, flags, |
receiver_types); |
} |
} |
@@ -306,7 +307,8 @@ |
Handle<Name> name, |
SmallMapList* receiver_types) { |
receiver_types->Clear(); |
- CollectReceiverTypes(isolate()->store_stub_cache(), slot, name, |
+ Code::Flags flags = Code::ComputeHandlerFlags(Code::STORE_IC); |
+ CollectReceiverTypes(isolate()->store_stub_cache(), slot, name, flags, |
receiver_types); |
} |
@@ -329,19 +331,22 @@ |
void TypeFeedbackOracle::CollectReceiverTypes(StubCache* stub_cache, |
FeedbackVectorSlot slot, |
Handle<Name> name, |
+ Code::Flags flags, |
SmallMapList* types) { |
StoreICNexus nexus(feedback_vector_, slot); |
- CollectReceiverTypes(stub_cache, &nexus, name, types); |
+ CollectReceiverTypes(stub_cache, &nexus, name, flags, types); |
} |
void TypeFeedbackOracle::CollectReceiverTypes(StubCache* stub_cache, |
FeedbackNexus* nexus, |
Handle<Name> name, |
+ Code::Flags flags, |
SmallMapList* types) { |
if (FLAG_collect_megamorphic_maps_from_stub_cache && |
nexus->ic_state() == MEGAMORPHIC) { |
types->Reserve(4, zone()); |
- stub_cache->CollectMatchingMaps(types, name, native_context_, zone()); |
+ stub_cache->CollectMatchingMaps(types, name, flags, native_context_, |
+ zone()); |
} else { |
CollectReceiverTypes(nexus, types); |
} |