Index: src/type-info.cc |
diff --git a/src/type-info.cc b/src/type-info.cc |
index b8ab830b4a6abb19216a043a21fd445950643340..da4d1834421520f5dcbe110c433a57fb6c56d362 100644 |
--- a/src/type-info.cc |
+++ b/src/type-info.cc |
@@ -128,16 +128,6 @@ bool TypeFeedbackOracle::LoadIsMonomorphicNormal(Property* expr) { |
} |
-bool TypeFeedbackOracle::LoadIsPreMonomorphic(Property* expr) { |
- Handle<Object> map_or_code = GetInfo(expr->PropertyFeedbackId()); |
- if (map_or_code->IsCode()) { |
- Handle<Code> code = Handle<Code>::cast(map_or_code); |
- return code->ic_state() == PREMONOMORPHIC; |
- } |
- return false; |
-} |
- |
- |
bool TypeFeedbackOracle::LoadIsPolymorphic(Property* expr) { |
Handle<Object> map_or_code = GetInfo(expr->PropertyFeedbackId()); |
if (map_or_code->IsCode()) { |
@@ -176,16 +166,6 @@ bool TypeFeedbackOracle::StoreIsMonomorphicNormal(TypeFeedbackId ast_id) { |
} |
-bool TypeFeedbackOracle::StoreIsPreMonomorphic(TypeFeedbackId ast_id) { |
- Handle<Object> map_or_code = GetInfo(ast_id); |
- if (map_or_code->IsCode()) { |
- Handle<Code> code = Handle<Code>::cast(map_or_code); |
- return code->ic_state() == PREMONOMORPHIC; |
- } |
- return false; |
-} |
- |
- |
bool TypeFeedbackOracle::StoreIsKeyedPolymorphic(TypeFeedbackId ast_id) { |
Handle<Object> map_or_code = GetInfo(ast_id); |
if (map_or_code->IsCode()) { |
@@ -642,6 +622,12 @@ void TypeFeedbackOracle::ProcessRelocInfos(ZoneList<RelocInfo>* infos) { |
case Code::KEYED_LOAD_IC: |
case Code::KEYED_STORE_IC: |
+ if (target->ic_state() == MONOMORPHIC || |
+ target->ic_state() == POLYMORPHIC) { |
+ SetInfo(ast_id, target); |
+ } |
+ break; |
+ |
case Code::BINARY_OP_IC: |
case Code::COMPARE_IC: |
case Code::TO_BOOLEAN_IC: |